"use client"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; /** * Paylaşılan veriler için hafif senkron: sayfa yeniden odaklanınca ve belirli aralıkla sunucu * bileşenlerini yeniler (aile üyeleri aynı listeyi kullanır). Sekme gizliyken yenilemez. */ export function useAutoRefresh(intervalMs: number) { const router = useRouter(); useEffect(() => { const refresh = () => { if (document.visibilityState === "visible") router.refresh(); }; const timer = window.setInterval(refresh, intervalMs); window.addEventListener("focus", refresh); document.addEventListener("visibilitychange", refresh); return () => { window.clearInterval(timer); window.removeEventListener("focus", refresh); document.removeEventListener("visibilitychange", refresh); }; }, [router, intervalMs]); }