const UNITS: Array<[string, number]> = [ ['year', 365 * 24 * 60 * 60], ['day', 24 * 60 * 60], ['hr', 60 * 60], ['min', 60], ]; // "just now", "1 min ago", "10 min ago", "3 days ago", … export function formatRelativeTime(iso: string | null, now: number = Date.now()): string { if (!iso) { return 'never'; } const seconds = Math.floor((now - new Date(iso).getTime()) / 1000); if (seconds < 45) { return 'just now'; } for (const [label, secondsPerUnit] of UNITS) { const value = Math.floor(seconds / secondsPerUnit); if (value >= 1) { return `${value} ${label}${value === 1 ? '' : 's'} ago`; } } return 'just now'; }