/** * How long ago something happened, in a few words: "just now", "5 min * ago", "3 h ago", "yesterday", "4 days ago". * * @param {string} iso - When, as an ISO date. * @param {number} now - The time to count from. * @returns {string} Empty for a date that does not read. */ export const timeAgo = (iso: string, now: number = Date.now()): string => { const minutes = Math.floor((now - new Date(iso).getTime()) / 60000); if (Number.isNaN(minutes)) { return ''; } if (minutes < 1) { return 'just now'; } if (minutes < 60) { return `${minutes} min ago`; } const hours = Math.floor(minutes / 60); if (hours < 24) { return `${hours} h ago`; } const days = Math.floor(hours / 24); return days === 1 ? 'yesterday' : `${days} days ago`; };