/** * Format a duration between two dates as a human-readable string. */ export function formatDuration(start: Date, end?: Date): string { const duration = (end ?? new Date()).getTime() - start.getTime() const seconds = Math.floor(duration / 1000) const minutes = Math.floor(seconds / 60) const hours = Math.floor(minutes / 60) if (hours > 0) return `${hours}h ${minutes % 60}m ${seconds % 60}s` if (minutes > 0) return `${minutes}m ${seconds % 60}s` return `${seconds}s` }