/* ================================================================
   Khronus — App Entry Point
   Módulo de Conteúdo (FeM): Ideias + Orgânico
   ================================================================ */
(function tryMount() {
  const DEPS = [
    'LucideIcon','Btn','Badge','Sidebar','TopBar',
    'IdeiaScreen','OrganicoScreen'
  ];
  if (DEPS.some(d => !window[d])) { setTimeout(tryMount, 80); return; }

  const { useState } = React;
  const { Sidebar, IdeiaScreen, OrganicoScreen } = window;

  function App() {
    const [screen, setScreen] = useState('ideias');
    const [sidebarCollapsed, setSidebarCollapsed] = useState(false);

    const navigate = pg => setScreen(pg);

    const currentScreen = (() => {
      switch (screen) {
        case 'ideias':   return <IdeiaScreen/>;
        case 'organico': return <OrganicoScreen/>;
        default:         return <IdeiaScreen/>;
      }
    })();

    return (
      <div style={{ display:'flex', width:'100%', height:'100vh', overflow:'hidden', background:'var(--app-bg)' }}>
        <Sidebar activePage={screen} onNavigate={navigate}
          collapsed={sidebarCollapsed} onToggle={()=>setSidebarCollapsed(p=>!p)}/>
        <div style={{ flex:1, display:'flex', flexDirection:'column', overflow:'hidden', minWidth:0 }}>
          {currentScreen}
        </div>
      </div>
    );
  }

  /* Só monta a aplicação depois que a autenticação confirmar (auth.js chama). */
  window.__renderKhronus = () => ReactDOM.createRoot(document.getElementById('root')).render(<App/>);
  if (window.__khronusAuthed) window.__renderKhronus();
})();
