import { BrowserRouter, Routes, Route, Navigate } from 'react-router'; import { useAuth } from 'hooks/useAuth'; import { useServerSettings } from '@/state/useServerSettings'; import { useInitialData } from '@/state/useInitialData'; import { LandingPage, AuthLayout } from './Screens/LandingPage'; import { Home } from './Screens/Dashboard/Home'; import { ProfileSettings } from './Screens/Dashboard/Settings/ProfileSettings'; import { ClaudeChat, OpenCodeChat, NewChat } from './Screens/Dashboard/Chat'; import { Screen as ClaudeSessions } from 'plugins/ChatHistory/client'; import { Plans } from './Screens/Dashboard/Plans'; import { Skills } from './Screens/Dashboard/Skills'; import { Tasks } from './Screens/Dashboard/Tasks'; import { Processes } from './Screens/Dashboard/Processes'; import { TaskLogs } from './Screens/Dashboard/TaskLogs'; import { SignoutScreen } from './Screens/Dashboard/SignoutScreen'; import { Screen as Files } from 'plugins/FileBrowser/client'; import { Screen as Terminal } from 'plugins/Terminal/client'; import { AISettings } from './Screens/Dashboard/Settings/AISettings'; import { ServerSettings } from './Screens/Dashboard/Settings/ServerSettings'; import { ResourceSettings } from './Screens/Dashboard/Settings/ResourceSettings'; import { OnboardingAdmin } from './Screens/Dashboard/OnboardingAdmin'; export function App() { const { isLoading, isAuthenticated } = useAuth(); const { onboardingComplete, plugins, isLoading: isServerSettingsLoading } = useServerSettings(); useInitialData(); if (isLoading || isServerSettingsLoading) return null; return ( {!isAuthenticated && ( } /> } /> } /> )} {isAuthenticated && !onboardingComplete && ( } /> } /> } /> )} {isAuthenticated && onboardingComplete && ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {plugins?.FileBrowser !== false && } />} {plugins?.Terminal !== false && } />} } /> } /> } /> } /> } /> } /> } /> )} ); }