import { Navigate, Route, Routes } from 'react-router-dom' import { SessionProvider, useSession } from './context/SessionContext.jsx' import { ProgramScopeProvider } from './context/ProgramScopeContext.jsx' import { ScopedOperationsBridge } from './layout/ScopedOperationsBridge.jsx' import { AppLayout } from './layout/AppLayout.jsx' import { AuthPanel } from './pages/AuthPanel.jsx' import { ActionDetailPage } from './pages/ActionDetailPage.jsx' import { ProjectObjectPage } from './pages/objects/ProjectObjectPage.jsx' import { GateObjectPage } from './pages/objects/GateObjectPage.jsx' import { VIEWS, WorkLayout, WorkIndexRedirect, PlanLayout, PlanIndexRedirect, ControlLayout, ControlIndexRedirect, } from './registry/viewRegistry.js' import { renderModeRoutes } from './registry/renderModeRoutes.jsx' import { WorkspaceRedirect, MyActionsRedirect, InitiativeRootRedirect, InitiativePlanRedirect, InitiativeExecutionRedirect, InitiativeInboxRedirect, InitiativeJourneyRedirect, InitiativeGateRedirect, InitiativeProjectRedirect, InitiativeActionRedirect, } from './pages/LegacyRedirects.jsx' import './app.css' function AppRoutes() { const { isAuthenticated, loading } = useSession() if (loading) { return null } if (!isAuthenticated) { return } const topLevelViews = VIEWS.filter( (v) => ![ 'kairo.workspace', 'kairo.my_actions', 'kairo.work', 'kairo.plan', 'kairo.control', ].includes(v.key), ) return ( }> {topLevelViews.map((view) => ( } /> ))} }> } /> {renderModeRoutes('work')} }> } /> {renderModeRoutes('plan')} }> } /> {renderModeRoutes('control')} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ) } export default function App() { return ( ) }