From f49e635c51b96810825d39ebfea4466aeb0507d7 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Tue, 16 Dec 2025 16:50:37 +0330 Subject: [PATCH] clear cart --- src/app/[name]/(Dialogs)/cart/page.tsx | 30 ++++++++++++++++++- .../(Dialogs)/cart/service/CartService.ts | 7 ++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/app/[name]/(Dialogs)/cart/page.tsx b/src/app/[name]/(Dialogs)/cart/page.tsx index fc76cc9..185c7a1 100644 --- a/src/app/[name]/(Dialogs)/cart/page.tsx +++ b/src/app/[name]/(Dialogs)/cart/page.tsx @@ -7,12 +7,27 @@ import { ArrowLeft, Trash } from 'iconsax-react'; import { useCart } from './hook/useCart'; import CartItemsList from './components/CartItemsList'; import CartSummary from './components/CartSummary'; +import Prompt from '@/components/utils/Prompt'; const CartIndex = () => { const { t } = useTranslation('parallels', { keyPrefix: 'Cart' }); const router = useRouter(); const { clearCart } = useCart(); const [description, setDescription] = React.useState(''); + const [showClearConfirm, setShowClearConfirm] = React.useState(false); + + const handleClearCart = (e: React.MouseEvent) => { + e?.preventDefault(); + e?.stopPropagation(); + clearCart(); + setShowClearConfirm(false); + }; + + const toggleClearConfirm = (e: React.MouseEvent) => { + e?.preventDefault(); + e?.stopPropagation(); + setShowClearConfirm(false); + }; return (
@@ -21,7 +36,7 @@ const CartIndex = () => { className='cursor-pointer place-self-start' size='24' color='currentColor' - onClick={clearCart} + onClick={() => setShowClearConfirm(true)} />

{t('Heading')}

{
+ +
+ +
); }; diff --git a/src/app/[name]/(Dialogs)/cart/service/CartService.ts b/src/app/[name]/(Dialogs)/cart/service/CartService.ts index 0b60e28..05bba95 100644 --- a/src/app/[name]/(Dialogs)/cart/service/CartService.ts +++ b/src/app/[name]/(Dialogs)/cart/service/CartService.ts @@ -17,7 +17,7 @@ export const decrement = async (id: string | number) => { }; export const clear = async () => { - const { data } = await api.delete("/public/cart/items"); + const { data } = await api.delete("/public/cart"); return data; }; @@ -25,3 +25,8 @@ export const getCartItems = async (): Promise => { const { data } = await api.get("/public/cart"); return data; }; + +export const getCartSummary = async () => { + const { data } = await api.get("/public/cart/summary"); + return data; +};