cart: add confirmation popup for clear btn

This commit is contained in:
2026-01-14 15:35:58 +03:00
parent 41605781f4
commit a0e558d416
3 changed files with 41 additions and 20 deletions

View File

@@ -196,6 +196,12 @@
"cancel": "إلغاء", "cancel": "إلغاء",
"success": "تم حذف العنصر من سلة المشتريات" "success": "تم حذف العنصر من سلة المشتريات"
}, },
"clearCartConfirmation": {
"title": "مسح السلة",
"content": "هل أنت متأكد أنك تريد مسح السلة؟",
"confirm": "مسح",
"cancel": "إلغاء"
},
"quantity": "الكمية", "quantity": "الكمية",
"price": "السعر", "price": "السعر",
"perItem": "للقطعة", "perItem": "للقطعة",

View File

@@ -213,6 +213,12 @@
"cancel": "Cancel", "cancel": "Cancel",
"success": ",Item removed from cart" "success": ",Item removed from cart"
}, },
"clearCartConfirmation": {
"title": "Clear Cart",
"content": "Are you sure you want to clear the cart?",
"confirm": "Clear",
"cancel": "Cancel"
},
"quantity": "Quantity", "quantity": "Quantity",
"price": "Price", "price": "Price",
"perItem": "Per Item", "perItem": "Per Item",

View File

@@ -1,4 +1,4 @@
import { Card, Divider, Space, Layout, Button } from "antd"; import { Card, Divider, Space, Layout, Button, Popconfirm } from "antd";
import ArabicPrice from "components/ArabicPrice"; import ArabicPrice from "components/ArabicPrice";
import CartActionsButtons from "components/CartActionsButtons/CartActionsButtons.tsx"; import CartActionsButtons from "components/CartActionsButtons/CartActionsButtons.tsx";
import ImageWithFallback from "components/ImageWithFallback"; import ImageWithFallback from "components/ImageWithFallback";
@@ -101,27 +101,36 @@ export default function CartMobileTabletLayout({
</ProTitle> </ProTitle>
</div> </div>
<Button <Popconfirm
shape="circle" title={t("cart.clearCartConfirmation.title")}
iconPlacement="start" description={t("cart.clearCartConfirmation.content")}
icon={ onConfirm={() => {
<DeleteIcon
className={styles.deleteIcon}
color={"#C0BFC4"}
dimension={16}
/>
}
size="small"
className={styles.addButton}
style={{
width: 32,
height: 32,
border: "1px solid #DEDEE0",
}}
onClick={() => {
dispatch(clearCart()); dispatch(clearCart());
}} }}
/> okText={t("cart.clearCartConfirmation.confirm")}
cancelText={t("cart.clearCartConfirmation.cancel")}
okButtonProps={{ danger: true }}
placement={isRTL ? "left" : "right"}
>
<Button
shape="circle"
iconPlacement="start"
icon={
<DeleteIcon
className={styles.deleteIcon}
color={"#C0BFC4"}
dimension={16}
/>
}
size="small"
className={styles.addButton}
style={{
width: 32,
height: 32,
border: "1px solid #DEDEE0",
}}
/>
</Popconfirm>
</div> </div>
{items.length >= 1 && ( {items.length >= 1 && (