diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2024-01-22 10:41:53 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2024-01-22 10:41:53 +0700 |
| commit | fb80b92d502437160e45b237b380071ab102c838 (patch) | |
| tree | 7af89af778f0038dbd8f984d360d009c700c6c71 /src-migrate/modules | |
| parent | e49eba371229a643588d49d7ef408b6ef9469d53 (diff) | |
Update disable checkout when has product price 0 and fix filter brand
Diffstat (limited to 'src-migrate/modules')
| -rw-r--r-- | src-migrate/modules/cart/components/Detail.tsx | 85 | ||||
| -rw-r--r-- | src-migrate/modules/cart/components/Item.tsx | 3 |
2 files changed, 2 insertions, 86 deletions
diff --git a/src-migrate/modules/cart/components/Detail.tsx b/src-migrate/modules/cart/components/Detail.tsx deleted file mode 100644 index b1532729..00000000 --- a/src-migrate/modules/cart/components/Detail.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import style from '../styles/detail.module.css' - -import React, { useEffect, useMemo } from 'react' -import Link from 'next/link' -import { Button, Tooltip } from '@chakra-ui/react' - -import { getAuth } from '~/libs/auth' -import { useCartStore } from '../stores/useCartStore' - -import CartItem from './Item' -import CartSummary from './Summary' - -const CartDetail = () => { - const auth = getAuth() - - const { loadCart, cart, summary } = useCartStore() - - useEffect(() => { - if (typeof auth === 'object' && !cart) loadCart(auth.id) - }, [auth, loadCart, cart]) - - const hasSelectedPromo = useMemo(() => { - if (!cart) return false - for (const item of cart.products) { - if (item.cart_type === 'promotion' && item.selected) return true - } - return false - }, [cart]) - - const hasSelected = useMemo(() => { - if (!cart) return false - for (const item of cart.products) { - if (item.selected) return true - } - return false - }, [cart]) - - return ( - <div className={style.wrapper}> - <div className='w-full md:w-3/4'> - <div className=''> - <div className='text-h-lg font-semibold mb-6'>Keranjang Belanja</div> - <div className='grid grid-cols-1 gap-y-4'> - {!cart && <CartItem.Skeleton count={5} height='120px' />} - </div> - <div className='flex flex-col gap-y-8 border-t border-gray-300 pt-8'> - {cart?.products.map((item) => <CartItem key={item.id} item={item} />)} - </div> - </div> - </div> - - <div className='w-full md:w-1/4 md:pl-6 mt-6 md:mt-0'> - <div className='border border-gray-300 p-4 rounded-md sticky top-[180px]'> - <CartSummary {...summary} isLoaded={!!cart} /> - <div className='grid grid-cols-2 gap-x-3 mt-6'> - <Tooltip label={hasSelectedPromo ? 'Barang promo tidak dapat dibuat quotation' : ''}> - <Button - colorScheme='yellow' - w='full' - isDisabled={hasSelectedPromo || !hasSelected} - as={Link} - href='/shop/quotation' - > - Quotation - </Button> - </Tooltip> - <Tooltip label={hasSelected ? '' : 'Tidak ada item yang dipilih'}> - <Button - colorScheme='red' - w='full' - isDisabled={!hasSelected} - as={Link} - href='/shop/checkout' - > - Checkout - </Button> - </Tooltip> - </div> - </div> - </div> - </div> - ) -} - -export default CartDetail
\ No newline at end of file diff --git a/src-migrate/modules/cart/components/Item.tsx b/src-migrate/modules/cart/components/Item.tsx index 08823d19..48e568e0 100644 --- a/src-migrate/modules/cart/components/Item.tsx +++ b/src-migrate/modules/cart/components/Item.tsx @@ -70,7 +70,8 @@ const CartItem = ({ item, editable = true }: Props) => { {item.cart_type === 'product' && ( <> <div className={style.price}> - Rp {formatCurrency(item.price.price)} + {item.price.price > 0 && `Rp ${formatCurrency(item.price.price)}`} + {item.price.price === 0 && '-'} </div> <div>{item.code}</div> </> |
