Format seconds as Xm Ys
(sec: number)
| 64 | |
| 65 | /** Format seconds as Xm Ys */ |
| 66 | function formatDuration(sec: number): string { |
| 67 | if (sec < 60) return `${sec}s`; |
| 68 | const m = Math.floor(sec / 60); |
| 69 | const s = sec % 60; |
| 70 | return `${m}m ${s}s`; |
| 71 | } |
| 72 | |
| 73 | /** Render dashboard from heartbeat + partial data. Pure function for testability. */ |
| 74 | export function renderDashboard(heartbeat: HeartbeatData | null, partial: PartialData | null): string { |