diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2025-05-08 10:34:07 +0000 |
|---|---|---|
| committer | trisusilo <tri.susilo@altama.co.id> | 2025-05-08 10:34:07 +0000 |
| commit | 746a11b810ae9e8a974a76d0548297cd0faff9b5 (patch) | |
| tree | 79c8c89300a3b42a6e62d282a6041c1a42e6c2ce /src-migrate/modules | |
| parent | 5c8a5df24a9758f3b3a6366d326f61c2c6a13c42 (diff) | |
| parent | a9a92c02e24bf77b9e490be51d7002cc2ef41bf1 (diff) | |
Merged in feat_voucher-category (pull request #407)
Feat voucher category
Approved-by: trisusilo
Diffstat (limited to 'src-migrate/modules')
| -rw-r--r-- | src-migrate/modules/popup-information/index.tsx | 6 | ||||
| -rw-r--r-- | src-migrate/modules/product-detail/components/ProductDetail.tsx | 27 | ||||
| -rw-r--r-- | src-migrate/modules/promo/components/Voucher.tsx | 1 |
3 files changed, 17 insertions, 17 deletions
diff --git a/src-migrate/modules/popup-information/index.tsx b/src-migrate/modules/popup-information/index.tsx index d50711cc..cae50abf 100644 --- a/src-migrate/modules/popup-information/index.tsx +++ b/src-migrate/modules/popup-information/index.tsx @@ -15,7 +15,6 @@ const PagePopupInformation = () => { const [data, setData] = useState<any>(null); const [loading, setLoading] = useState(true); - useEffect(() => { const getData = async () => { const res = await fetch(`/api/hero-banner?type=popup-banner`); @@ -44,7 +43,10 @@ const PagePopupInformation = () => { className='w-[350px] md:w-[530px]' onClick={() => setActive(false)} > - <Link href={data[0].url === false ? '/' :data[0].url} aria-label='popup'> + <Link + href={data[0].url === false ? '/' : data[0].url} + aria-label='popup' + > <Image src={data[0]?.image} alt={data[0]?.name} diff --git a/src-migrate/modules/product-detail/components/ProductDetail.tsx b/src-migrate/modules/product-detail/components/ProductDetail.tsx index 685c107d..0660b9c0 100644 --- a/src-migrate/modules/product-detail/components/ProductDetail.tsx +++ b/src-migrate/modules/product-detail/components/ProductDetail.tsx @@ -73,12 +73,9 @@ const ProductDetail = ({ product }: Props) => { // setSelectedVariant(product?.variants[0]) }, []); - - // Gabungkan semua gambar produk (utama + tambahan) const allImages = product.image_carousel ? [...product.image_carousel] : []; - if (product.image) { allImages.unshift(product.image); // Tambahkan gambar utama di awal array } @@ -95,18 +92,18 @@ const ProductDetail = ({ product }: Props) => { <div className='md:w-9/12 md:flex md:flex-col md:pr-4 md:pt-6'> <div className='md:flex md:flex-wrap'> <div className='md:w-4/12'> - <ProductImage product={{ ...product, image: mainImage }} /> - + <ProductImage product={{ ...product, image: mainImage }} /> + {/* Carousel horizontal */} {allImages.length > 0 && ( - <div className="mt-4 overflow-x-auto"> - <div className="flex space-x-3 pb-3"> + <div className='mt-4 overflow-x-auto'> + <div className='flex space-x-3 pb-3'> {allImages.map((img, index) => ( - <div - key={index} + <div + key={index} className={`flex-shrink-0 w-16 h-16 cursor-pointer border-2 rounded-md transition-colors ${ - mainImage === img - ? 'border-red-500 ring-2 ring-red-200' + mainImage === img + ? 'border-red-500 ring-2 ring-red-200' : 'border-gray-200 hover:border-gray-300' }`} onClick={() => setMainImage(img)} @@ -114,10 +111,11 @@ const ProductDetail = ({ product }: Props) => { <img src={img} alt={`Thumbnail ${index + 1}`} - className="w-full h-full object-cover rounded-sm" - loading="lazy" + className='w-full h-full object-cover rounded-sm' + loading='lazy' onError={(e) => { - (e.target as HTMLImageElement).src = '/path/to/fallback-image.jpg'; + (e.target as HTMLImageElement).src = + '/path/to/fallback-image.jpg'; }} /> </div> @@ -125,7 +123,6 @@ const ProductDetail = ({ product }: Props) => { </div> </div> )} - </div> <div className='md:w-8/12 px-4 md:pl-6'> diff --git a/src-migrate/modules/promo/components/Voucher.tsx b/src-migrate/modules/promo/components/Voucher.tsx index 034d13e9..0c225c74 100644 --- a/src-migrate/modules/promo/components/Voucher.tsx +++ b/src-migrate/modules/promo/components/Voucher.tsx @@ -18,6 +18,7 @@ interface Voucher { name: string; description: string; code: string; + voucher_category: []; } const VoucherComponent = () => { |
