From 16fed2e7d00252f5df3f9b5bdf0a5a2b2a094f76 Mon Sep 17 00:00:00 2001
From: Rafi Zadanly <zadanlyr@gmail.com>
Date: Tue, 8 Aug 2023 10:39:34 +0700
Subject: Improve home page performance

---
 src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx | 36 ++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx

(limited to 'src/lib/flashSale/skeleton/FlashSaleSkeleton.jsx')

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 }
-- 
cgit v1.2.3

