/* ────────────────────────────────────────────────────────────────────────── * تبدیل تاریخ‌های میلادیِ بک‌اند (ISO datetime) به نمایشِ جلالی (هجری شمسی). * * بک‌اند فیلدهای updated_at/created_at را به‌صورت ISO (UTC) می‌فرستد؛ کاربر باید * تاریخ را به تقویم جلالی ببیند. از `Intl.DateTimeFormat` با تقویم `persian` * استفاده می‌کنیم (بدون وابستگیِ خارجی) و ارقام را فارسی نمایش می‌دهیم. * ────────────────────────────────────────────────────────────────────────── */ const DATE_FMT = new Intl.DateTimeFormat('fa-IR-u-ca-persian', { year: 'numeric', month: '2-digit', day: '2-digit', }) const DATE_TIME_FMT = new Intl.DateTimeFormat('fa-IR-u-ca-persian', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', }) /** تاریخ ISO → «۱۴۰۳/۰۱/۲۵» (جلالی). ورودی خالی/نامعتبر → '—'. */ export function toJalali(iso: string | null | undefined): string { if (!iso) return '—' const d = new Date(iso) if (Number.isNaN(d.getTime())) return '—' return DATE_FMT.format(d) } /** تاریخ ISO → «۱۴۰۳/۰۱/۲۵، ۱۴:۳۰» (جلالی + ساعت). ورودی نامعتبر → '—'. */ export function toJalaliDateTime(iso: string | null | undefined): string { if (!iso) return '—' const d = new Date(iso) if (Number.isNaN(d.getTime())) return '—' return DATE_TIME_FMT.format(d) }