import { useEffect, useState } from 'react'; import { nowNaiveMinutes } from '@/lib/time'; // Rafraîchit « maintenant » assez souvent pour qu'un repère qui en dépend // bouge de façon perceptible sans re-rendre à outrance. const REFRESH_MS = 30_000; /** Minutes « murales » actuelles (cf. `nowNaiveMinutes`), retenues en state et * rafraîchies périodiquement pour rester réactif sans requête réseau. */ export function useNowMinutes(): number { const [minutes, setMinutes] = useState(() => nowNaiveMinutes()); useEffect(() => { const id = setInterval(() => setMinutes(nowNaiveMinutes()), REFRESH_MS); return () => clearInterval(id); }, []); return minutes; }