"use client"; import { useEffect, useState } from "react"; function fmt(ms: number): string { const s = Math.floor(ms / 1000); const m = Math.floor(s / 60); return m > 0 ? `${m}:${String(s % 60).padStart(2, "0")}` : `${s}s`; } export default function ElapsedTimer({ startedAt, stopped, finalMs }: { startedAt: number; stopped: boolean; finalMs: number }) { const [elapsed, setElapsed] = useState(stopped ? finalMs : Date.now() - startedAt); useEffect(() => { if (stopped) return; const id = setInterval(() => setElapsed(Date.now() - startedAt), 1000); return () => clearInterval(id); }, [startedAt, stopped]); return {fmt(stopped ? finalMs : elapsed)}; }