"use client"; import { useState } from "react"; import Image from "next/image"; import { useRouter } from 'next/navigation'; import {useConfig} from "@/utils/hooks/useConfig"; import { OrderDetails } from "@/types/customer/type"; import { confirmDialog } from "@/components/theme/ui/kernel/confirm/api"; import ProductsModalPendingOrder from "./ProductsModalPendingOrder"; import dynamic from "next/dynamic"; import {getAddressFromOrderDetailAddressList} from "@/utils/orderDetailTools"; const CountDown = dynamic(() => import("@/components/common/CountDown"), { ssr: false, }); export default function ContinueToPayOrderInfo({ orderDetail }: { orderDetail: OrderDetails; }) { const router = useRouter(); const {currencies,getCurrentCurrencyItem} = useConfig(); const currentCurrency = getCurrentCurrencyItem(); const currencySymbol = currentCurrency.symbol; const orderCurrency = currencies.find(item => item.code === orderDetail.orderCurrencyCode) || null; const orderSymbol = orderCurrency?.symbol || currencySymbol; const [productsModalOpen, setProductsModalOpen] = useState(false); const countDownEnd = (new Date(orderDetail.createdAt)).getTime() + 24*3600*1000; const shippingAddress = getAddressFromOrderDetailAddressList(orderDetail.addresses,"order_shipping"); const billingAddress = getAddressFromOrderDetailAddressList(orderDetail.addresses,"order_billing"); const totalQty = orderDetail.totalQtyOrdered > 1 ? String(orderDetail.totalQtyOrdered) + 'Items' : '1 Item'; const productItems = orderDetail.items.edges.map((item) => { return item.node; }); // 倒计时结束跳转到首页 const handleCountDownEnd = () => { confirmDialog({ title: "Order Timeout", content: "This order timeout, has been canceled. Will redirect to home page.", noCancel: true, }).then(() => { router.replace('/'); }); }; const closeProductsModal = () => { setProductsModalOpen(false); }; const openProductsModal = () => { setProductsModalOpen(true); }; return( <>
{shippingAddress.firstName} {shippingAddress.lastName} {shippingAddress.phone}
{/* */}{billingAddress.firstName} {billingAddress.lastName} {billingAddress.phone}
{/* */}Subtotal
{orderSymbol}{orderDetail.subTotal}
You Earn
{orderDetail.rewardPointsEarned} Reward Points
Shipping
{orderSymbol}{orderDetail.shippingAmount}
Shipping
{orderSymbol}{Number(orderDetail.shippingInsuranceAmount)}
Tax
{orderSymbol}{orderDetail.taxAmount}
Plus Fee
{orderSymbol}{orderDetail.vipPlusAmount}
Discount
-{orderSymbol}{orderDetail.discountAmount}
Gift Card
-{orderSymbol}{orderDetail.giftcardAmount}
Plus Save
-{orderSymbol}{orderDetail.vipDiscountAmount}
You Redeem ({orderDetail.rewardPointsUsed} Reward Points)
-{orderSymbol}{orderDetail.rewardPointsAmount}
You Earn
600 Reward Points
Total
{orderSymbol}{orderDetail.grandTotal}