diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-06-06 09:42:23 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-06-06 09:42:23 +0700 |
| commit | d941c429ce185d6bb67c603d2bdb3017cdd79ae8 (patch) | |
| tree | 81c354ff2d2d6d585ea29095eba846fc0b4fb9bc /src-migrate/modules/product-promo | |
| parent | 68a3c897edef3f42a339d92ed8d663039f3ddfc7 (diff) | |
<iman> add feature SNI-TKDN
Diffstat (limited to 'src-migrate/modules/product-promo')
| -rw-r--r-- | src-migrate/modules/product-promo/components/Item.tsx | 97 |
1 files changed, 21 insertions, 76 deletions
diff --git a/src-migrate/modules/product-promo/components/Item.tsx b/src-migrate/modules/product-promo/components/Item.tsx index 4d1808c2..b396160f 100644 --- a/src-migrate/modules/product-promo/components/Item.tsx +++ b/src-migrate/modules/product-promo/components/Item.tsx @@ -1,89 +1,34 @@ -import style from '../styles/item.module.css'; -import ImageNext from 'next/image'; -import { useEffect, useState } from 'react'; -import { Tooltip } from '@chakra-ui/react'; +import style from '../styles/item.module.css' -import Image from '~/components/ui/image'; -import { IProductVariantPromo } from '~/types/promotion'; +import { Tooltip } from '@chakra-ui/react' -type Props = { - variant: IProductVariantPromo; - isFree?: boolean; -}; - -const ProductPromoItem = ({ variant, isFree = false }: Props) => { - const [isSni, setIsSni] = useState(false); - const [isTkdn, setTkdn] = useState(false); - - useEffect(() => { - // Lakukan pemanggilan API untuk memeriksa isSni dan isTkdn - const fetchData = async () => { - try { - const responseSni = await fetch('URL_API_SNI'); - const dataSni = await responseSni.json(); - setIsSni(dataSni && dataSni.sni); - - const responseTkdn = await fetch('URL_API_TKDN'); - const dataTkdn = await responseTkdn.json(); - setTkdn(dataTkdn && dataTkdn.tkdn); - } catch (error) { - console.error('Error fetching data:', error); - setIsSni(false); - setTkdn(false); - } - }; - - fetchData(); - - return () => {}; - }, []); +import Image from '~/components/ui/image' +import { IProductVariantPromo } from '~/types/promotion' +type Props = { + variant: IProductVariantPromo, + isFree?: boolean +} + +const ProductPromoItem = ({ + variant, + isFree = false +}: Props) => { return ( <div className={style.item}> <div className={style.image}> - <div className="relative"> - <Image - src={variant.image || '/images/noimage.jpeg'} - alt={variant.display_name} - width={120} - height={120} - quality={100} - /> - <div className="absolute top-0 right-0 flex mt-2"> - {!isSni && ( - <div className="w-2 h-4 sm:h-6 mr-1"> - <ImageNext - src="/images/sni-logo.png" - alt="SNI Logo" - className="object-contain object-top" - width={50} - height={50} - /> - </div> - )} - {!isTkdn && ( - <div className="w-4 h-5 sm:h-6 ml-1"> - <ImageNext - src="/images/TKDN.png" - alt="TKDN" - className="object-contain object-top" - width={50} - height={50} - /> - </div> - )} - </div> - </div> - + <Image src={variant.image || '/images/noimage.jpeg'} alt={variant.display_name} width={120} height={120} quality={100} /> <div className={style.quantity}> {variant.qty} pcs {isFree ? '(free)' : ''} </div> </div> - <Tooltip label={variant.display_name} placement="top" fontSize="sm"> - <div className={style.name}>{variant.name}</div> + <Tooltip label={variant.display_name} placement='top' fontSize='sm'> + <div className={style.name}> + {variant.name} + </div> </Tooltip> </div> - ); -}; + ) +} -export default ProductPromoItem; +export default ProductPromoItem
\ No newline at end of file |
