diff options
| author | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-08-09 10:47:44 +0700 |
|---|---|---|
| committer | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-08-09 10:47:44 +0700 |
| commit | 407af81fb2d9ebdf3415fe7b34d08996ed7c80ec (patch) | |
| tree | 675d0981a6259b814c3deb7bd053a85892fea53b /src/lib/flashSale/skeleton | |
| parent | 9595223471946520f5c156e24eceb577fae4c901 (diff) | |
| parent | 863047e92834479ce8edb576b57b129c611821a8 (diff) | |
Merge branch 'master' into CR/flash_sale
# Conflicts:
# src/lib/product/components/ProductCard.jsx
Diffstat (limited to 'src/lib/flashSale/skeleton')
| -rw-r--r-- | src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx b/src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx new file mode 100644 index 00000000..e9a200d9 --- /dev/null +++ b/src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx @@ -0,0 +1,36 @@ +import useDevice from '@/core/hooks/useDevice' +import PopularProductSkeleton from '@/lib/home/components/Skeleton/PopularProductSkeleton' +import Skeleton from 'react-loading-skeleton' + +const FlashSaleSkeleton = () => { + return ( + <div className='px-4 md:px-0'> + <TitleSkeleton /> + <div className='my-4'> + <BannerSkeleton /> + </div> + <PopularProductSkeleton /> + </div> + ) +} + +const TitleSkeleton = () => { + return ( + <div className='w-full md:w-[36%] flex gap-x-4'> + <Skeleton containerClassName='block w-1/2' height={24} /> + <div className='w-1/2 flex gap-x-1'> + <Skeleton height={40} containerClassName='w-full' /> + <Skeleton height={40} containerClassName='w-full' /> + <Skeleton height={40} containerClassName='w-full' /> + <Skeleton height={40} containerClassName='w-full' /> + </div> + </div> + ) +} + +const BannerSkeleton = () => { + const { isDesktop } = useDevice() + return <Skeleton duration={1.2} height={isDesktop ? 192 : 48} containerClassName='w-full' /> +} + +export { FlashSaleSkeleton, TitleSkeleton, BannerSkeleton } |
