/* SINAIS FIFA — root */ const { useState: useS_A, useEffect: useE_A } = React; const REFRESH_INTERVAL_MS = 30_000; function Root() { const [user, setUser] = useS_A(() => { try { return JSON.parse(localStorage.getItem('sf.user')) || null; } catch { return null; } }); const [dataTick, setDataTick] = useS_A(0); useE_A(() => { if (user) localStorage.setItem('sf.user', JSON.stringify(user)); else localStorage.removeItem('sf.user'); }, [user]); // Carrega dados da API ao logar e a cada 30s. Re-renderiza via dataTick. useE_A(() => { if (!user) return; let cancelled = false; const onData = () => { if (!cancelled) setDataTick(t => t + 1); }; window.addEventListener('sf:data', onData); window.loadAllData(); const id = setInterval(() => window.loadAllData(), REFRESH_INTERVAL_MS); return () => { cancelled = true; window.removeEventListener('sf:data', onData); clearInterval(id); }; }, [user]); if (!user) return ; return setUser(null)} dataTick={dataTick} />; } ReactDOM.createRoot(document.getElementById('root')).render();