// ============================================================ // جدول «اقلام ثبت‌شده در این نشست» برای موجودی اولیه // بازخورد دیداری برای جلوگیری از ثبت تکراری — فقط حافظه‌ی همان صفحه. // ============================================================ import { faNum } from "../../../lib/formatters"; import { specsLine } from "./StockTable"; export interface PurchaseSessionEntry { material: string; brand: string; specs: Record; qty: number; unitLabel: string; time: string; // HH:MM آماده‌ی نمایش whName: string; } interface PurchaseSessionLogProps { entries: PurchaseSessionEntry[]; onClear: () => void; } export function PurchaseSessionLog({ entries, onClear }: PurchaseSessionLogProps) { if (!entries.length) return null; return (

🧾 اقلام ثبت‌شده در این نشست ({faNum(entries.length)} قلم)

{/* دسکتاپ: جدول فشرده */}
{[...entries].reverse().map((e, i) => ( ))}
متریال برند مشخصه‌ها تعداد ساعت انبار
{e.material} {e.brand || "—"} {specsLine(e.specs)} {faNum(e.qty)} {e.unitLabel} {e.time} {e.whName}
{/* موبایل: ردیف‌های فشرده */}
{[...entries].reverse().map((e, i) => (
{e.material} {faNum(e.qty)} {e.unitLabel}
{e.brand || "بدون برند"} · {specsLine(e.specs)} · {e.time} · {e.whName}
))}
); }