import { useNavigate, useSearchParams } from "@remix-run/react"; import { Dialog, DialogContent, DialogOverlay, } from "../../components/ui/dialog"; import { useGetInvoiceAndShippingInfo } from "../../requestHandler/use-order-hooks"; import { InvoiceContent } from "../../components/cart/ReceiverInformation"; import sucess_pay from "../../assets/icons/cart/sucess_pay.svg"; import failure_pay from "../../assets/icons/cart/failure_pay.svg"; import { Button } from "../../components/ui/button"; import { CartItem } from "src/api/types"; interface InvoiceModalProps { open: boolean; onOpenChange: (open: boolean) => void; } const InvoiceModal = ({ open, onOpenChange }: InvoiceModalProps) => { const [searchParams] = useSearchParams(); const invoiceNumber = searchParams.get("invoice") || ""; const shippingInfoId = searchParams.get("shippinginfo") || ""; const successPay = searchParams.get("status") === "success"; const { data: invoiceData, isLoading, isError, error, } = useGetInvoiceAndShippingInfo(invoiceNumber, shippingInfoId); const navigate = useNavigate(); return ( { onOpenChange(open); if (!open) { navigate("/"); } }} >
{successPay ? ( <> {isLoading ? (

در حال بارگزاری...

) : isError ? (

خطا در دریافت اطلاعات

{(error as Error)?.message}

) : invoiceData ? ( { return { ...item, productVariant: item.variant, priceAtPurchase: item.unitPrice, } as CartItem; }) || [] } // /> ) : (

اطلاعاتی یافت نشد

)} ) : ( )}
); }; const SuccessPay = () => { return (
invoice

سفارش با موفقیت ثبت شد

وضعیت سفارش و موجودی کیف پول خود را در قسمت پروفایل مشاهده کنید.

); }; const FailurePay = ({ onOpenChange, }: { onOpenChange: (open: boolean) => void; }) => { const navigate = useNavigate(); return (
invoice

پرداخت با خطا مواجه شد!

در صورت کسر وجه، مبلغ حداکثر تا ۷۲ ساعت آینده به حساب شما بازگردانده خواهد شد.

); }; export default InvoiceModal;