export const chf = (n: number) =>
  new Intl.NumberFormat("de-CH", { style: "currency", currency: "CHF" }).format(n || 0);

export const pct = (n: number) => `${Math.round((n || 0) * 100)}%`;

export const num = (n: number, digits = 3) =>
  (n ?? 0).toLocaleString("de-CH", { maximumFractionDigits: digits });

export function timeAgo(iso?: string): string {
  if (!iso) return "—";
  const seconds = Math.max(0, Math.floor((Date.now() - new Date(iso).getTime()) / 1000));
  if (seconds < 60) return `${seconds}s ago`;
  if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;
  return `${Math.floor(seconds / 3600)}h ago`;
}
