export const MASKED = "••••••"; const KEY = "mercury.hideAmounts"; export function isHidden(): boolean { try { return localStorage.getItem(KEY) === "true"; } catch { return false; } } export function setHidden(b: boolean): void { try { localStorage.setItem(KEY, String(b)); } catch {} } function num(v: string | number): number { return typeof v === "number" ? v : parseFloat(v || "0") || 0; } export function grouped(v: string | number): string { return new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(num(v)); } export function tugrikRaw(v: string | number): string { return `${grouped(v)}₮`; } export function tugrikShortRaw(v: string | number): string { const m = num(v) / 1_000_000; if (m >= 1) return `${m.toFixed(1).replace(".", ",")}сая₮`; return tugrikRaw(v); } export function tugrik(v: string | number): string { return isHidden() ? MASKED : tugrikRaw(v); } export function tugrikShort(v: string | number): string { return isHidden() ? MASKED : tugrikShortRaw(v); }