summaryrefslogtreecommitdiff
path: root/src-migrate/modules
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-30 13:51:19 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-30 13:51:48 +0700
commit9c2b36fb15511b9f38492e133125a8b766c58a19 (patch)
treea31117cd908034c973be20b9816374cd195965de /src-migrate/modules
parent76e3eec8db414307cea6b11e3ebb461aed8e1e26 (diff)
Update product similar section
Diffstat (limited to 'src-migrate/modules')
-rw-r--r--src-migrate/modules/product-detail/components/ProductDetail.tsx5
-rw-r--r--src-migrate/modules/product-detail/components/SimilarBottom.tsx12
-rw-r--r--src-migrate/modules/product-detail/components/SimilarSide.tsx14
-rw-r--r--src-migrate/modules/product-detail/styles/side-similar.module.css3
4 files changed, 22 insertions, 12 deletions
diff --git a/src-migrate/modules/product-detail/components/ProductDetail.tsx b/src-migrate/modules/product-detail/components/ProductDetail.tsx
index 80f43aea..2bd3c901 100644
--- a/src-migrate/modules/product-detail/components/ProductDetail.tsx
+++ b/src-migrate/modules/product-detail/components/ProductDetail.tsx
@@ -23,6 +23,7 @@ import SimilarBottom from './SimilarBottom'
import PriceAction from './PriceAction'
import ProductPromoSection from '~/modules/product-promo/components/Section'
import Breadcrumb from './Breadcrumb'
+import { LazyLoadComponent } from 'react-lazy-load-image-component'
type Props = {
product: IProductDetail
@@ -166,7 +167,9 @@ const ProductDetail = ({ product }: Props) => {
<div className='h-6' />
- <SimilarBottom product={product} />
+ <LazyLoadComponent>
+ <SimilarBottom product={product} />
+ </LazyLoadComponent>
</div>
<div className='h-6 md:h-0' />
diff --git a/src-migrate/modules/product-detail/components/SimilarBottom.tsx b/src-migrate/modules/product-detail/components/SimilarBottom.tsx
index 9a12a6ef..40d4dd82 100644
--- a/src-migrate/modules/product-detail/components/SimilarBottom.tsx
+++ b/src-migrate/modules/product-detail/components/SimilarBottom.tsx
@@ -1,4 +1,4 @@
-import React from 'react'
+import { Skeleton } from '@chakra-ui/react'
import useProductSimilar from '~/modules/product-similar/hooks/useProductSimilar'
import ProductSlider from '~/modules/product-slider'
import { IProductDetail } from '~/types/product'
@@ -15,7 +15,15 @@ const SimilarBottom = ({ product }: Props) => {
const products = productSimilar.data?.products || []
- return <ProductSlider products={products} productLayout='vertical' />;
+ return (
+ <Skeleton
+ isLoaded={!productSimilar.isLoading}
+ rounded='lg'
+ className='h-[350px]'
+ >
+ <ProductSlider products={products} productLayout='vertical' />
+ </Skeleton>
+ );
}
export default SimilarBottom \ No newline at end of file
diff --git a/src-migrate/modules/product-detail/components/SimilarSide.tsx b/src-migrate/modules/product-detail/components/SimilarSide.tsx
index 646a1c51..2ba8fa21 100644
--- a/src-migrate/modules/product-detail/components/SimilarSide.tsx
+++ b/src-migrate/modules/product-detail/components/SimilarSide.tsx
@@ -1,6 +1,4 @@
-import style from '../styles/side-similar.module.css'
-
-import React from 'react'
+import { Skeleton } from '@chakra-ui/react'
import ProductCard from '~/modules/product-card'
import useProductSimilar from '~/modules/product-similar/hooks/useProductSimilar'
@@ -13,13 +11,17 @@ type Props = {
const SimilarSide = ({ product }: Props) => {
const productSimilar = useProductSimilar({
name: product.name,
- except: { productId: product.id, manufactureId: product.manufacture.id },
+ except: { productId: product.id },
})
const products = productSimilar.data?.products || []
return (
- <div className={style['wrapper']}>
+ <Skeleton
+ isLoaded={!productSimilar.isLoading}
+ className="h-[500px] overflow-auto grid grid-cols-1 gap-y-4 divide-y divide-gray-300 border border-gray-300 rounded-lg"
+ rounded='lg'
+ >
{products.map((product) => (
<ProductCard
key={product.id}
@@ -27,7 +29,7 @@ const SimilarSide = ({ product }: Props) => {
layout='horizontal'
/>
))}
- </div>
+ </Skeleton>
)
}
diff --git a/src-migrate/modules/product-detail/styles/side-similar.module.css b/src-migrate/modules/product-detail/styles/side-similar.module.css
deleted file mode 100644
index 08692efa..00000000
--- a/src-migrate/modules/product-detail/styles/side-similar.module.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.wrapper {
- @apply max-h-[500px] overflow-auto grid grid-cols-1 gap-y-4 divide-y divide-gray-300 border border-gray-300 rounded-lg;
-}