diff options
| author | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-06-21 13:19:30 +0700 |
|---|---|---|
| committer | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-06-21 13:19:30 +0700 |
| commit | d2ac3371d30464801924539350ddb50eb42eb007 (patch) | |
| tree | acc95da4abe63bc5113e0606df4c707b05fa6ca5 /src/lib/cart | |
| parent | 637c22f1886cecf7307ced88dc951134d466a3fa (diff) | |
handling cart
Diffstat (limited to 'src/lib/cart')
| -rw-r--r-- | src/lib/cart/components/Cart.jsx | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/lib/cart/components/Cart.jsx b/src/lib/cart/components/Cart.jsx index 31aa034d..a9113e75 100644 --- a/src/lib/cart/components/Cart.jsx +++ b/src/lib/cart/components/Cart.jsx @@ -4,7 +4,15 @@ import Image from '@/core/components/elements/Image/Image' import NextImage from 'next/image' import currencyFormat from '@/core/utils/currencyFormat' import { useEffect, useState } from 'react' -import { addCart, deleteItemCart, getCart, getCartApi, getCartnew, getItemCart, updateItemCart } from '@/core/utils/cart' +import { + addCart, + deleteItemCart, + getCart, + getCartApi, + getCartnew, + getItemCart, + updateItemCart +} from '@/core/utils/cart' import { CheckIcon, TrashIcon } from '@heroicons/react/24/outline' import { createSlug } from '@/core/utils/slug' import { useRouter } from 'next/router' @@ -18,6 +26,7 @@ import ProductCard from '@/lib/product/components/ProductCard' import productSearchApi from '@/lib/product/api/productSearchApi' import whatsappUrl from '@/core/utils/whatsappUrl' import useAuth from '@/core/hooks/useAuth' +import LogoSpinner from '@/core/components/elements/Spinner/LogoSpinner' const Cart = () => { const router = useRouter() @@ -25,8 +34,7 @@ const Cart = () => { const [isLoading, setIsLoading] = useState(true) const auth = useAuth() - - const [cart, setCart] = useState(null) + const [cart, setCart] = useState(null) useEffect(() => { if (!auth) return @@ -38,16 +46,15 @@ const Cart = () => { setCart(listCart) } cart() - }) + },[]) useEffect(() => { - if(cart){ + if (cart) { setProducts(cart.products) setIsLoading(false) } }, [cart]) - const [totalPriceBeforeTax, setTotalPriceBeforeTax] = useState(0) const [totalTaxAmount, setTotalTaxAmount] = useState(0) const [totalDiscountAmount, setTotalDiscountAmount] = useState(0) @@ -56,7 +63,6 @@ const Cart = () => { const [productRecomendation, setProductRecomendation] = useState(null) - useEffect(() => { if (!products) return @@ -116,7 +122,7 @@ const Cart = () => { } let qty = quantity productsToUpdate[productIndex].quantity = qty - + setProducts([...productsToUpdate]) addCart(productId, qty, productsToUpdate[productIndex].selected) } @@ -128,8 +134,7 @@ const Cart = () => { let productsToUpdate = products let isSelected = !productsToUpdate[productIndex].selected productsToUpdate[productIndex].selected = isSelected - - + setProducts([...productsToUpdate]) addCart(productId, productsToUpdate[productIndex].quantity, isSelected) } @@ -332,8 +337,8 @@ const Cart = () => { {isLoading && ( <tr> <td colSpan={6}> - <div className='flex justify-center my-2'> - <Spinner className='w-6 text-gray_r-12/50 fill-gray_r-12' /> + <div className='container flex justify-center my-4'> + <LogoSpinner width={48} height={48} /> </div> </td> </tr> |
