// FAQ standalone page. Reuses Nav + FAQ + Footer from sections.jsx.

const { useEffect: useFE } = React;

function FaqPage() {
  // Bidirectional reveal observer (same one used on the homepage).
  useFE(() => {
    const visible = new Set();
    const observed = new WeakSet();
    const io = new IntersectionObserver((entries) => {
      for (const e of entries) {
        if (e.isIntersecting) {
          visible.add(e.target);
          e.target.classList.add('in');
        } else {
          visible.delete(e.target);
          e.target.classList.remove('in');
        }
      }
    }, { threshold: 0, rootMargin: '0px 0px -8% 0px' });
    const sync = () => {
      document.querySelectorAll('.reveal').forEach(el => {
        if (!observed.has(el)) {
          observed.add(el);
          io.observe(el);
        }
        if (visible.has(el) && !el.classList.contains('in')) el.classList.add('in');
      });
    };
    let rafId = 0;
    const scheduleSync = () => {
      if (rafId) return;
      rafId = requestAnimationFrame(() => { rafId = 0; sync(); });
    };
    sync();
    const mo = new MutationObserver(scheduleSync);
    mo.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['class'] });
    return () => { io.disconnect(); mo.disconnect(); if (rafId) cancelAnimationFrame(rafId); };
  }, []);

  return (
    <>
      <Nav />
      <FAQ />
      <Footer />
    </>
  );
}

ReactDOM.createRoot(document.getElementById('root')).render(<FaqPage />);
