/* Main app entry — Republic Square (JAL Strategies · for George D. Vincent, Jr. / SRC) */
const { useState: aS, useEffect: aE } = React;

function App(){
  const [tweaks, setTweaks] = aS(window.__TWEAKS__ || {
    palette:'institutional', fontScale:1.0
  });
  const [tweaksOpen, setTweaksOpen] = aS(false);

  aE(()=>{ applyPalette(tweaks.palette); }, [tweaks.palette]);
  aE(()=>{ document.documentElement.style.fontSize = (16 * tweaks.fontScale) + 'px'; }, [tweaks.fontScale]);

  aE(()=>{
    const onMsg = (e) => {
      if(!e.data || typeof e.data !== 'object') return;
      if(e.data.type === '__activate_edit_mode') setTweaksOpen(true);
      if(e.data.type === '__deactivate_edit_mode') setTweaksOpen(false);
    };
    window.addEventListener('message', onMsg);
    window.parent?.postMessage({type:'__edit_mode_available'}, '*');
    return ()=>window.removeEventListener('message', onMsg);
  },[]);

  return <>
    <ScrollProgress/>
    <Nav/>
    <Hero/>
    <Opportunity/>
    <Gap/>
    <Method/>
    <Demand/>
    <TheMath/>
    <Competition/>
    <Program/>
    <Structure/>
    <Sponsor/>
    <ProForma/>
    <Path/>
    <Economics/>
    <Docs/>
    <Footer/>
    <TweaksPanel open={tweaksOpen} tweaks={tweaks} setTweaks={setTweaks}
      onClose={()=>setTweaksOpen(false)}/>
  </>;
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App/>);
