diff options
Diffstat (limited to 'src-migrate')
| -rw-r--r-- | src-migrate/pages/shop/cart/index.tsx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src-migrate/pages/shop/cart/index.tsx b/src-migrate/pages/shop/cart/index.tsx index cfb20284..5aac64cf 100644 --- a/src-migrate/pages/shop/cart/index.tsx +++ b/src-migrate/pages/shop/cart/index.tsx @@ -34,6 +34,7 @@ const CartPage = () => { const [isTop, setIsTop] = useState(true); const [hasChanged, setHasChanged] = useState(false); const prevCartRef = useRef<CartItem[] | null>(null); + const [isLoadQuantity, setIsLoadQuantity] = useState<boolean>(false) useEffect(() => { const handleScroll = () => { @@ -48,14 +49,18 @@ const CartPage = () => { useEffect(() => { if (typeof auth === 'object' && !cart) { + setIsLoadQuantity(true) loadCart(auth.id); + setIsLoadQuantity(false) setIsStepApproval(auth?.feature?.soApproval); } }, [auth, loadCart, cart, isButtonChek]); useEffect(() => { if (typeof auth === 'object' && !cart) { + setIsLoadQuantity(true) loadCart(auth.id); + setIsLoadQuantity(false) setIsStepApproval(auth?.feature?.soApproval); } }, [auth, loadCart, cart, isButtonChek]); @@ -116,8 +121,10 @@ const CartPage = () => { }) ); try { + setIsLoadQuantity(true) await Promise.all(upsertPromises); await loadCart(auth.id); + setIsLoadQuantity(false) } catch (error) { console.error('Failed to update cart items:', error); } @@ -167,8 +174,10 @@ const CartPage = () => { setIsLoadDelete(true) for (const item of cart.products) { if(item.selected === true){ + setIsLoadQuantity(true) await deleteUserCart(auth.id, [item.cart_id]) await loadCart(auth.id) + setIsLoadQuantity(false) } } setIsLoadDelete(false) @@ -285,7 +294,7 @@ const CartPage = () => { <Button colorScheme='yellow' w='full' - isDisabled={hasSelectedPromo || !hasSelected} + isDisabled={hasSelectedPromo || !hasSelected || isLoadQuantity} onClick={handleQuotation} > Quotation @@ -301,7 +310,7 @@ const CartPage = () => { <Button colorScheme='red' w='full' - isDisabled={!hasSelected || hasSelectNoPrice} + isDisabled={!hasSelected || hasSelectNoPrice || isLoadQuantity} onClick={handleCheckout} > Checkout |
