all repos — stealth-developers @ e2ccb0014092a9a52f4a52835de92b3051fb0664

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'
}