import { useState, useEffect } from 'react';

/** active な間だけ 1 秒ごとに再レンダリングを促す現在時刻（実行中の経過表示用）。 */
export function useNow(active: boolean): number {
  const [now, setNow] = useState(() => Date.now());
  useEffect(() => {
    if (!active) return;
    const id = setInterval(() => setNow(Date.now()), 1000);
    return () => clearInterval(id);
  }, [active]);
  return now;
}
