'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;