pkgs/frontend/src/utils.ts (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
export const formatTimeAgo = (dateString: string | null): string => {
if (!dateString) return ''
const diffInSeconds = Math.floor((Date.now() - new Date(dateString).getTime()) / 1000)
if (diffInSeconds < 1) return 'now'
const intervals = [
{ label: 'd', seconds: 86_400 },
{ label: 'h', seconds: 3_600 },
{ label: 'm', seconds: 60 },
{ label: 's', seconds: 1 },
]
const interval = intervals.find((i) => diffInSeconds >= i.seconds)
return interval ? `${Math.floor(diffInSeconds / interval.seconds)}${interval.label}` : 'now'
}
|