// grupo-app.jsx: monta as páginas do grupo (window.JYNX_PAGE: home | sobre | contato | programa).
function useScrollReveal(deps) {
  const revealed = React.useRef(new Set());
  const sweep = () => {
    const vh = window.innerHeight || document.documentElement.clientHeight;
    document.querySelectorAll('[data-reveal]').forEach((e) => {
      if (revealed.current.has(e)) return;
      const r = e.getBoundingClientRect();
      if (r.top < vh * 1.25 && r.bottom > -40) { revealed.current.add(e); e.classList.add(window.scrollY < 40 && r.top < vh * 0.9 ? 'shown' : 'in'); }
    });
  };
  React.useLayoutEffect(() => { sweep(); });
  React.useEffect(() => {
    const on = () => sweep();
    window.addEventListener('scroll', on, { passive: true }); window.addEventListener('resize', on, { passive: true });
    const iv = setInterval(sweep, 250);
    return () => { window.removeEventListener('scroll', on); window.removeEventListener('resize', on); clearInterval(iv); };
  }, deps);
}
function GrupoApp() {
  useScrollReveal([]);
  const page = window.JYNX_PAGE || 'home';
  const Page = page === 'programa' ? ProgramaPage : page === 'sobre' ? SobreGrupo : page === 'contato' ? ContatoPage : HomeGrupo;
  return (<React.Fragment><Header /><main><Page /></main><Footer /></React.Fragment>);
}
ReactDOM.createRoot(document.getElementById('app')).render(<GrupoApp />);
