import { toFaDigits } from '@/lib/jalali'; /** برچسب انواع سند ته‌حساب — کپی runtime برای Vite (بدون named export از shared) */ export const TAHSAB_SANAD_LABELS: Record = { buy_sale_gold: 'خرید/فروش آبشده', buy_sale_sekeh: 'خرید/فروش سکه', talab_bedehi: 'طلب/بدهی', vkh_gold: 'واریز/خروج طلا', vkh_bank: 'واریز/خروج بانکی', }; /** * قالب نمایش ته‌حساب برای مبالغ/مانده‌های علامت‌دار: * منفی → قدرمطلق + «بد» (بدهکار)، مثبت → قدرمطلق + «بس» (بستانکار). * صفر بدون پسوند. */ export function formatTahesabBedBes(v: unknown, maximumFractionDigits = 3): string { if (v == null) return '—'; const s = String(v).trim(); if (!s || s === 'null' || s === 'undefined' || s === 'NaN') return '—'; const n = Number(s.replace(/,/g, '')); if (!Number.isFinite(n)) return toFaDigits(s); const abs = toFaDigits( new Intl.NumberFormat('fa-IR', { maximumFractionDigits }).format(Math.abs(n)), ); if (n === 0) return abs; return `${abs} ${n < 0 ? 'بد' : 'بس'}`; }