// Main App — router for views inside the shell

function ViewRouter() {
  const { state } = useApp();
  const view = state.view;
  switch (view.type) {
    case "default":  return <DefaultChatView />;
    case "chat":     return <SpaceChatView />;
    case "explore":  return <ExploreView />;
    case "doc":      return <DocView />;
    case "search":   return <SearchView />;
    case "history":  return <HistoryView />;
    case "empty":    return <EmptySpaceView />;
    case "settings": return <SettingsView />;
    default:         return <DefaultChatView />;
  }
}

function App() {
  return (
    <AppProvider>
      <AppRoot />
    </AppProvider>
  );
}

function AppRoot() {
  const { state } = useApp();
  if (!state.authed) return <AuthView />;
  return (
    <>
      <Shell>
        <ViewRouter />
      </Shell>
      <ModalRoot />
    </>
  );
}

ReactDOM.createRoot(document.getElementById("root")).render(<App />);
