import { useState, useRef } from "react"; export function useTimer() { const [seconds, setSeconds] = useState(0); const intervalRef = useRef | null>(null); function startTimer() { setSeconds(0); intervalRef.current = setInterval(() => { setSeconds((prev) => prev + 1); }, 1000); } function stopTimer() { if (intervalRef.current) { clearInterval(intervalRef.current); } setSeconds(0); } function formatTime(seconds: number) { const hrs = Math.floor(seconds / 3600); const mins = Math.floor((seconds % 3600) / 60); const secs = seconds % 60; return `${String(hrs).padStart(2, "0")}:${String(mins).padStart(2, "0")}:${String(secs).padStart(2, "0")}`; } return { timer: formatTime(seconds), startTimer, stopTimer }; }