summaryrefslogtreecommitdiff
path: root/src-migrate/modules/cart/components
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-22 10:41:53 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-22 10:41:53 +0700
commitfb80b92d502437160e45b237b380071ab102c838 (patch)
tree7af89af778f0038dbd8f984d360d009c700c6c71 /src-migrate/modules/cart/components
parente49eba371229a643588d49d7ef408b6ef9469d53 (diff)
Update disable checkout when has product price 0 and fix filter brand
Diffstat (limited to 'src-migrate/modules/cart/components')
-rw-r--r--src-migrate/modules/cart/components/Detail.tsx85
-rw-r--r--src-migrate/modules/cart/components/Item.tsx3
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>
</>