"use client"; import React from "react"; import { motion, AnimatePresence } from "motion/react"; import { X, Printer, Download, Package, ShoppingBag, MapPin, Calendar, Clock, CreditCard, CheckCircle2, AlertCircle, Truck } from "lucide-react"; import { toPersian, cn } from "../lib/utils"; import SafeImage from "./SafeImage"; interface OrderDetailsModalProps { isOpen: boolean; onClose: () => void; order: any; } export default function OrderDetailsModal({ isOpen, onClose, order }: OrderDetailsModalProps) { if (!order) return null; const handlePrint = () => { // Basic print logic: open a new window with a simplified version of the invoice const printWindow = window.open('', '_blank'); if (!printWindow) return; const itemsHtml = (order.items || []).map((item: any) => ` ${item.product.name} ${toPersian(item.quantity)} ${toPersian(item.product.priceValue.toLocaleString())} تومان ${toPersian((item.product.priceValue * item.quantity).toLocaleString())} تومان `).join(''); printWindow.document.write(` فاکتور ${order.id}
تاریخ: ${toPersian(new Date(order.date).toLocaleDateString('fa-IR'))}
شماره فاکتور: ${toPersian(order.id)}
کد پیگیری: ${toPersian(order.trackingNumber)}
وضعیت: ${order.status === 'delivered' ? 'تسویه شده' : 'در حال پردازش'}
${itemsHtml}
محصول تعداد قیمت واحد جمع کل

جمع کل فاکتور: ${toPersian(order.total.toLocaleString())} تومان

`); printWindow.document.close(); }; const getStatusIcon = (status: string) => { switch (status) { case 'delivered': return ; case 'shipped': return ; default: return ; } }; const getStatusLabel = (status: string) => { switch (status) { case 'delivered': return 'تحویل شده'; case 'shipped': return 'ارسال شده'; default: return 'در حال پردازش'; } }; const orderDate = new Date(order.date); return ( {isOpen && (
{/* Header */}

جزئیات سفارش {toPersian(order.id)}

ثبت شده در {toPersian(orderDate.toLocaleDateString("fa-IR"))}

{/* Content Scrollable */}
{/* Summary Stats */}
وضعیت تحویل
{getStatusIcon(order.status)} {getStatusLabel(order.status)}
کد رهگیری
{toPersian(order.trackingNumber)}
زمان ثبت
{toPersian(orderDate.toLocaleTimeString("fa-IR", { hour: '2-digit', minute: '2-digit' }))}
{/* Items List */}

سبد محصولات خریده شده

{(order.items || []).map((item: any) => (
{item.product.name}
{toPersian(item.quantity)} عدد × {toPersian(item.product.priceValue.toLocaleString())} تومان
{toPersian((item.product.priceValue * item.quantity).toLocaleString())} تومان
))}
{/* Shipping & Payment */}

اطلاعات ارسال

{order.shippingAddress || "آدرس ثبتی کاربر در حساب کاربری"}

جزئیات پرداخت

مبلغ محصولات {toPersian(((order.total || 0) - (order.charityDonation || 0)).toLocaleString())} تومان
{order.charityDonation > 0 && (
کمک اهدایی (ردپای مهربانی) {toPersian(order.charityDonation.toLocaleString())} تومان
)}
مبلغ نهایی پرداخت شده {toPersian(order.total.toLocaleString())} تومان
{/* Footer Actions */}
)}
); }