"use client"; import NavBarDownCart from "@comp/Carts/component/NavBarDownCart/page"; import Navbar from "@comp/Navbar/page"; import PersianNumber from "plugins/PersianNumber"; import { useContext, useEffect, useState } from "react"; import AppContext from "@ctx/AppContext"; import ap from "@img/ap.png"; import zarin from "@img/zarin.png"; import Image from "next/image"; import { useRouter } from "next/navigation"; import Chapar from "plugins/Chapar"; import BottomSheetDiscount from "plugins/bottomSheet/BottomSheetDiscount"; import { toast } from "react-toastify"; import NavbarTransparent from "@comp/Navbar/NavbarTransparent"; const CheckoutData = () => { const CTX = useContext(AppContext); const [shippingData, setShippingData] = useState([]); const [shippingId, setShippingID] = useState(null); const [addressData, setAddressData] = useState([]); const [addressId, setAddressId] = useState(null); const [permissionGoPay, setPermissionGoPay] = useState(false); const router = useRouter(); const checkOutData = CTX.state.checkOutData; const body = { addressId: addressData[addressId]?.id, orderId: checkOutData?.id, shippingId: shippingData[shippingId]?.id, }; const GetShippingData = async () => { try { const data = await Chapar.get( `${process.env.NEXT_PUBLIC_API_URL}/warehouse/shipping?page=0` ); setShippingData(data); } catch ({ error, status }) { toast.error(`${error?.response?.data?.message}`, { position: "bottom-right", closeOnClick: true, }); } }; const handleShippingID = async (index) => { if (addressId !== null) { setShippingID(index); try { const data = await Chapar.post( `${process.env.NEXT_PUBLIC_API_URL}/order/bag/shipping/${checkOutData?.id}`, JSON.stringify({ addressId: addressData[addressId]?.id, orderId: checkOutData?.id, shippingId: shippingData[index]?.id, }), { headers: { Authorization: localStorage.getItem("token"), }, } ); CTX.setCheckOutData(data); setPermissionGoPay(true); } catch ({ error, status }) { toast.error(`${error?.response?.data?.message}`, { position: "bottom-right", closeOnClick: true, }); } } else { toast.error(`ابتدا آدرس را انتحاب کنید`, { position: "bottom-right", closeOnClick: true, }); } }; const handleGoPayment = async () => { const token = localStorage.getItem("token").slice(7); try { const data = await Chapar.post( `${process.env.NEXT_PUBLIC_API_URL}/order/bag/payment/${checkOutData?.id}?paymentMethod=1&access_token=${token}` // { // headers: { // Authorization: token, // }, // } ); router.push(data?.paymentUrl); } catch ({ error, status }) { toast.error(`${error?.response?.data?.message}`, { position: "bottom-right", closeOnClick: true, }); } }; useEffect(() => { if (shippingData.length <= 0) { GetShippingData(); } CTX.fetchAddressUser(); }, [checkOutData]); useEffect(() => { setAddressData(CTX.state.addressData); }, [CTX.state.addressData]); useEffect(() => { if (CTX.state.checkOutData.length <= 0) { router.push("/cart"); } setPermissionGoPay(false); }, []); return ( <>
آدرس ها
{" "} {e.address}{" "}
زمان و نحوه ارسال
{" "}
هزینه ارسال
روش پرداخت
زرین پال
آسان پرداخت
کد تخفیف خود را وارد کنید
کد تخفیف ثبت شد{" "}
حساب نهایی
{/*مشاهده اقلام
قیمت
تخفیف محصول
هزینه بسته بندی
هزینه ارسال
قابل پرداخت