import React, { useState, ReactNode, useEffect } from "react"; import type { DrawerProps } from "antd"; import { Badge, Button, Drawer, Space } from "antd"; import CardItem from "../Cart/CardItem"; import { BsArrowLeft, BsCart } from "react-icons/bs"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { useCartState } from "../../state/CartState"; import { Currency } from "../../Layout/app/Const"; import useAuthState from "../../state/AuthState"; import { LocalStorageEnum } from "../../api/utils/LocalStorage"; import { useAddOrder } from "../../api/order"; import { toast } from "react-toastify"; import { BiBasket } from "react-icons/bi"; const CartWithDrawer = () => { const [open, setOpen] = useState(false); const [placement, setPlacement] = useState("right"); const { t } = useTranslation(); const { Cart, calculateTotalPrice, calculateTotalQuantity, removeCart } = useCartState(); const { user ,isAuthenticated} = useAuthState(); const { mutate, isLoading, isSuccess } = useAddOrder(); const products = Cart?.map((item: any) => ({ quantity: item?.quantity, id: item?.id, })); const addOrder = () => { if (!isAuthenticated) { toast.error("sorry you need to be authenticated"); return; } mutate({ email: user?.email, products: products, form: ["adding orders"], }); }; useEffect(() => { if (isSuccess) { removeCart(); toast.success("order added success"); setOpen(false); } }, [isSuccess]); return ( <>
setOpen(true)} className="icon_navbar">
setOpen(false)} open={open} key={placement} width={450} style={{maxHeight:"60%", minHeight:"500px"}} >
{t("Cart")} setOpen(false)}> {t("Back To Shopping")}
{Cart.map((item: any, index: number) => ( ))}
{Cart?.length > 0 ? (

{t("Grand Total")}
{" "} {calculateTotalPrice()} {Currency}{" "}

) : (

{t('You have not placed any orders yet')}

)}
); }; export default CartWithDrawer;