'use client'; import {forwardRef} from 'react'; import type {CustomerOrder} from '@/types/account'; import {useLanguage} from '@/app/context/LanguageContext'; import {accountCopy} from '@/data/account'; const InvoiceDocument = forwardRef(({order}, ref) => { const {locale} = useLanguage(); const copy = accountCopy[locale]; const invoice = order.invoice!; const numberLocale = locale === 'fa' ? 'fa-IR' : 'en-US'; const money = (value: number) => `${value.toLocaleString(numberLocale)} ${locale === 'fa' ? 'ریال' : 'Rials'}`; const subtotal = order.items.reduce((sum, item) => sum + item.unitPrice * item.quantity, 0); const total = subtotal - invoice.discount + invoice.shipping + invoice.tax; const buyerName = order.customer.type === 'corporate' ? order.customer.companyName : `${order.customer.firstName} ${order.customer.lastName}`; return (
Robot Market

{copy.invoice}

{copy.invoiceNumber}: {invoice.number}

{copy.seller}

{copy.sellerName}

{copy.sellerPhone}

{copy.buyer}

{buyerName}

{order.customer.phone}

{order.customer.city}، {order.customer.address}

{copy.issueDate}: {invoice.issueDate}

{copy.validUntil}: {invoice.validUntil}

{order.items.map((item, index) => ( ))}
# {copy.orderItems} {copy.modules} {copy.quantity} {copy.unitPrice} {copy.total}
{index + 1} {item.name} {item.model} {item.modules.join('، ')} {item.quantity} {money(item.unitPrice)} {money(item.unitPrice * item.quantity)}

{copy.subtotal} {money(subtotal)}

{copy.discount} {money(invoice.discount)}

{copy.shipping} {money(invoice.shipping)}

{copy.tax} {money(invoice.tax)}

{copy.finalTotal} {money(total)}

این پیش‌فاکتور پس از هماهنگی تلفنی و تأیید ادمین روبات مارکت صادر شده است.

); }); InvoiceDocument.displayName = 'InvoiceDocument'; export default InvoiceDocument;