story-research-zapwall/lib/formatTime.ts
2025-12-22 09:48:57 +01:00

27 lines
688 B
TypeScript

/**
* Format a timestamp to a relative time string
*/
export function formatTime(timestamp: number): string {
const date = new Date(timestamp * 1000)
const now = new Date()
const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)
if (diffInSeconds < 60) {
return 'Just now'
}
if (diffInSeconds < 3600) {
const minutes = Math.floor(diffInSeconds / 60)
return `${minutes}m ago`
}
if (diffInSeconds < 86400) {
const hours = Math.floor(diffInSeconds / 3600)
return `${hours}h ago`
}
if (diffInSeconds < 604800) {
const days = Math.floor(diffInSeconds / 86400)
return `${days}d ago`
}
return date.toLocaleDateString()
}