import { useEffect, useState } from "react"; export function useElapsed(startedAt: number, duration: number): number { const [now, setNow] = useState(() => Date.now() / 1000); useEffect(() => { const t = setInterval(() => setNow(Date.now() / 1000), 200); return () => clearInterval(t); }, []); return Math.min(duration, Math.max(0, now - startedAt)); }