diff options
| author | trisusilo <tri.susilo@altama.co.id> | 2023-10-09 03:48:41 +0000 |
|---|---|---|
| committer | trisusilo <tri.susilo@altama.co.id> | 2023-10-09 03:48:41 +0000 |
| commit | 5ab25c12716065421e64fcd91403bce31708eea6 (patch) | |
| tree | b3979bcf815686565fc5d672873c01eb552cbe31 /src/lib | |
| parent | 397e589d7cbd927a3d3e62a1aade1deff1124af5 (diff) | |
| parent | 591dc095a0e5f655e419ec4d1ae11d8f54bed196 (diff) | |
Merged in CR/Pricelist (pull request #96)
CR/Pricelist
Diffstat (limited to 'src/lib')
5 files changed, 43 insertions, 40 deletions
diff --git a/src/lib/product/components/Product/ProductDesktop.jsx b/src/lib/product/components/Product/ProductDesktop.jsx index 4c8c3ae9..47e98c1a 100644 --- a/src/lib/product/components/Product/ProductDesktop.jsx +++ b/src/lib/product/components/Product/ProductDesktop.jsx @@ -49,7 +49,7 @@ const ProductDesktop = ({ products, wishlist, toggleWishlist }) => { isFlashsale: variant.isFlashsale })) const lowest = prices.reduce((lowest, price) => { - return price.priceDiscount < lowest.priceDiscount ? price : lowest + return price.price < lowest.price ? price : lowest }, prices[0]) return lowest }, [product]) @@ -203,7 +203,7 @@ const ProductDesktop = ({ products, wishlist, toggleWishlist }) => { <div className='w-full flex flex-wrap'> <div className='w-5/12'> <div className='relative mb-2'> - {product?.flashSale?.remainingTime > 0 && ( + {product?.flashSale?.remainingTime > 0 && lowestPrice?.price.discountPercentage > 0 && ( <div className={`absolute bottom-0 w-full`}> <div className='absolute bottom-0 w-full h-full'> <ImageNext @@ -216,7 +216,7 @@ const ProductDesktop = ({ products, wishlist, toggleWishlist }) => { <div className='flex gap-x-2 items-center p-2'> <div className='bg-yellow-400 rounded-full p-1 h-9 w-20 flex items-center justify-center '> <span className='text-lg font-bold'> - {product.lowestPrice.discountPercentage}% + {Math.floor(product.lowestPrice.discountPercentage)}% </span> </div> <div @@ -441,7 +441,7 @@ const ProductDesktop = ({ products, wishlist, toggleWishlist }) => { </div> )} */} - {lowestPrice?.isFlashsale ? ( + {lowestPrice?.isFlashsale && lowestPrice?.price.discountPercentage > 0 ? ( <> <div className='flex gap-x-1 items-center mt-2'> <div className='badge-solid-red text-caption-1'> @@ -580,7 +580,7 @@ const ProductDesktop = ({ products, wishlist, toggleWishlist }) => { <ColumnsSLA variant={variant} product={product} /> </LazyLoadComponent> <td> - {variant.isFlashsale ? ( + {variant.isFlashsale && variant?.price?.discountPercentage > 0 ? ( <> <div className='flex items-center gap-x-1 justify-center'> <div className='badge-solid-red text-caption-1'> @@ -610,7 +610,7 @@ const ProductDesktop = ({ products, wishlist, toggleWishlist }) => { <div className=' text-caption-1 text-gray_r-11 mb-1'> Inc. PPN:{' '} {currencyFormat( - variant?.price?.priceDiscount * process.env.NEXT_PUBLIC_PPN + variant?.price?.price * process.env.NEXT_PUBLIC_PPN )} </div> </> diff --git a/src/lib/product/components/Product/ProductDesktopVariant.jsx b/src/lib/product/components/Product/ProductDesktopVariant.jsx index 51739bc9..ef61bafd 100644 --- a/src/lib/product/components/Product/ProductDesktopVariant.jsx +++ b/src/lib/product/components/Product/ProductDesktopVariant.jsx @@ -140,7 +140,7 @@ const ProductDesktopVariant = ({ product, wishlist, toggleWishlist, isVariant }) <div className='w-full flex flex-wrap'> <div className='w-5/12'> <Image - src={product.parent.image} + src={product.image} alt={product.name} className='h-[430px] object-contain object-center w-full border border-gray_r-4' /> @@ -270,32 +270,32 @@ const ProductDesktopVariant = ({ product, wishlist, toggleWishlist, isVariant }) </div> */} </div> <div className='w-[25%]'> - {product?.flashSale?.remainingTime > 0 ? ( + {product?.isFlashsale > 0 && product?.price?.discountPercentage > 0? ( <> <div className='flex gap-x-1 items-center mt-2'> <div className='badge-solid-red text-caption-1'> - {lowestPrice?.discountPercentage}% + {product?.price?.discountPercentage}% </div> <div className='text-gray_r-9 line-through text-caption-1'> - {currencyFormat(lowestPrice?.price)} + {currencyFormat(product?.price?.price)} </div> <div className='text-danger-500 font-semibold text-xl'> - {currencyFormat(lowestPrice?.priceDiscount)} + {currencyFormat(product?.price?.priceDiscount)} </div> </div> <div className='text-gray_r-9 text-base font-normal mt-1'> Termasuk PPN:{' '} - {currencyFormat(lowestPrice?.priceDiscount * process.env.NEXT_PUBLIC_PPN)} + {currencyFormat(product?.price?.priceDiscount * process.env.NEXT_PUBLIC_PPN)} </div> </> ) : ( <h3 className='text-danger-500 font-semibold mt-1 text-title-md'> - {lowestPrice?.price > 0 ? ( + {product?.price?.price > 0 ? ( <> - {currencyFormat(lowestPrice?.price)} + {currencyFormat(product?.price?.price)} <div className='text-gray_r-9 text-base font-normal mt-1'> Termasuk PPN:{' '} - {currencyFormat(lowestPrice?.price * process.env.NEXT_PUBLIC_PPN)} + {currencyFormat(product?.price?.price * process.env.NEXT_PUBLIC_PPN)} </div> </> ) : ( diff --git a/src/lib/product/components/Product/ProductMobile.jsx b/src/lib/product/components/Product/ProductMobile.jsx index 20a1d3f4..ffa75f72 100644 --- a/src/lib/product/components/Product/ProductMobile.jsx +++ b/src/lib/product/components/Product/ProductMobile.jsx @@ -161,7 +161,7 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => { return ( <MobileView> <div className='relative'> - {product?.flashSale?.remainingTime > 0 && ( + {product?.flashSale?.remainingTime > 0 && activeVariant?.price.discountPercentage > 0 && ( <div className={`absolute bottom-0 w-full`}> <div className='absolute bottom-0 w-full'> <ImageNext @@ -174,7 +174,7 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => { <div className='flex gap-x-2 items-center p-2'> <div className='bg-yellow-400 rounded-full p-1 h-9 w-20 flex items-center justify-center '> <span className='text-lg font-bold'> - {product.lowestPrice.discountPercentage}% + {Math.floor(product.lowestPrice.discountPercentage)}% </span> </div> <div @@ -232,7 +232,7 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => { <div className='text-gray_r-12/80 text-caption-2 mt-2 mb-1'>Harga mulai dari: </div> )} - {activeVariant.isFlashsale ? ( + {activeVariant.isFlashsale && activeVariant?.price?.discountPercentage > 0 ? ( <> <div className='flex gap-x-1 items-center'> <div className='badge-solid-red'>{activeVariant?.price?.discountPercentage}%</div> diff --git a/src/lib/product/components/Product/ProductMobileVariant.jsx b/src/lib/product/components/Product/ProductMobileVariant.jsx index 8cdb631f..9888e482 100644 --- a/src/lib/product/components/Product/ProductMobileVariant.jsx +++ b/src/lib/product/components/Product/ProductMobileVariant.jsx @@ -29,7 +29,7 @@ const ProductMobileVariant = ({ product, wishlist, toggleWishlist }) => { const [isLoadingSLA, setIsLoadingSLA] = useState(true) const getLowestPrice = () => { - const lowest = product.price + const lowest = product.lowestPrice return lowest } @@ -40,7 +40,7 @@ const ProductMobileVariant = ({ product, wishlist, toggleWishlist }) => { price: getLowestPrice(), stock: product.stockTotal, weight: product.weight, - isFlashSale: product.isFlashsale + isFlashSale: product.isFlashSale }) useEffect(() => { @@ -50,9 +50,9 @@ const ProductMobileVariant = ({ product, wishlist, toggleWishlist }) => { code: product.code, name: product.name, price: product.price, - stock: product.stock, + stock: product.stockTotal, weight: product.weight, - isFlashSale: product.isFlashsale + isFlashSale: product.isFlashSale }) } }, [selectedVariant, product]) @@ -115,7 +115,7 @@ const ProductMobileVariant = ({ product, wishlist, toggleWishlist }) => { return ( <MobileView> <Image - src={product.parent.image} + src={product.image} alt={product.name} className='h-72 object-contain object-center w-full border-b border-gray_r-4' /> @@ -141,7 +141,7 @@ const ProductMobileVariant = ({ product, wishlist, toggleWishlist }) => { </div> <h1 className='leading-6 font-medium mb-3'>{activeVariant?.name}</h1> - {activeVariant.isFlashsale ? ( + {activeVariant.isFlashSale && activeVariant?.price?.discountPercentage > 0 ? ( <> <div className='flex gap-x-1 items-center'> <div className='badge-solid-red'>{activeVariant?.price?.discountPercentage}%</div> @@ -159,12 +159,12 @@ const ProductMobileVariant = ({ product, wishlist, toggleWishlist }) => { </> ) : ( <h3 className='text-danger-500 font-semibold mt-1'> - {activeVariant?.price?.priceDiscount > 0 ? ( + {activeVariant?.price?.price > 0 ? ( <> - {currencyFormat(activeVariant?.price?.priceDiscount)} + {currencyFormat(activeVariant?.price?.price)} <div className='text-gray_r-9 text-base font-normal mt-1'> Termasuk PPN:{' '} - {currencyFormat(activeVariant?.price.priceDiscount * process.env.NEXT_PUBLIC_PPN)} + {currencyFormat(activeVariant?.price.price * process.env.NEXT_PUBLIC_PPN)} </div> </> ) : ( diff --git a/src/lib/product/components/ProductCard.jsx b/src/lib/product/components/ProductCard.jsx index 6a5e29ab..91c1f40e 100644 --- a/src/lib/product/components/ProductCard.jsx +++ b/src/lib/product/components/ProductCard.jsx @@ -89,17 +89,16 @@ const ProductCard = ({ product, simpleTitle, variant = 'vertical' }) => { > {product?.name} </Link> - {product?.flashSale?.id > 0 ? ( + {product?.flashSale?.id > 0 && product?.lowestPrice.discountPercentage > 0 ? ( <> - {product?.lowestPrice.discountPercentage > 0 && ( - <div className='flex gap-x-1 mb-1 items-center'> - <div className='text-gray_r-11 line-through text-[11px] sm:text-caption-2'> - {currencyFormat(product.lowestPrice.price)} - </div> - <div className='badge-solid-red'>{product?.lowestPrice.discountPercentage}%</div> + <div className='flex gap-x-1 mb-1 items-center'> + <div className='text-gray_r-11 line-through text-[11px] sm:text-caption-2'> + {currencyFormat(product.lowestPrice.price)} </div> - )} - + <div className='badge-solid-red'> + {Math.floor(product?.lowestPrice.discountPercentage)}% + </div> + </div> <div className='text-danger-500 font-semibold mb-2'> {product?.lowestPrice.priceDiscount > 0 ? ( currencyFormat(product?.lowestPrice.priceDiscount) @@ -114,7 +113,8 @@ const ProductCard = ({ product, simpleTitle, variant = 'vertical' }) => { <> {currencyFormat(product?.lowestPrice.price)} <div className='text-gray_r-9 text-[10px] font-normal mt-2'> - Inc. PPN: {currencyFormat(product.lowestPrice.price * process.env.NEXT_PUBLIC_PPN )} + Inc. PPN:{' '} + {currencyFormat(product.lowestPrice.price * process.env.NEXT_PUBLIC_PPN)} </div> </> ) : ( @@ -192,11 +192,13 @@ const ProductCard = ({ product, simpleTitle, variant = 'vertical' }) => { > {product?.name} </Link> - {product?.flashSale?.id > 0 ? ( + {product?.flashSale?.id > 0 && product?.lowestPrice?.discountPercentage > 0 ? ( <> {product?.lowestPrice.discountPercentage > 0 && ( <div className='flex gap-x-1 mb-1 items-center'> - <div className='badge-solid-red'>{product?.lowestPrice?.discountPercentage}%</div> + <div className='badge-solid-red'> + {Math.floor(product?.lowestPrice?.discountPercentage)}% + </div> <div className='text-gray_r-11 line-through text-caption-2'> {currencyFormat(product?.lowestPrice?.price)} </div> @@ -217,7 +219,8 @@ const ProductCard = ({ product, simpleTitle, variant = 'vertical' }) => { <> {currencyFormat(product?.lowestPrice.price)} <div className='text-gray_r-9 text-[11px] sm:text-caption-2 font-normal mt-2'> - Inc. PPN: {currencyFormat(product.lowestPrice.price * process.env.NEXT_PUBLIC_PPN)} + Inc. PPN:{' '} + {currencyFormat(product.lowestPrice.price * process.env.NEXT_PUBLIC_PPN)} </div> </> ) : ( |
