diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 5250e15..846b117 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -1,17 +1,23 @@ // Top-level React component for desktop client. // Spec: docs/VISUAL_DESIGN.html -// Milestone: M6 skeleton — onboarding + REPL placeholder + update banner +// Milestone: M6-rest — Onboarding gate + Nav + 5 screens import { useEffect, useState } from 'react'; +import { Nav, type ScreenName } from './components/Nav.js'; +import { UpdateBanner } from './components/UpdateBanner.js'; +import { ChatScreen } from './screens/Chat.js'; +import { MCPManagerScreen } from './screens/MCPManager.js'; import { OnboardingScreen } from './screens/Onboarding.js'; import { ReplScreen } from './screens/Repl.js'; -import { UpdateBanner } from './components/UpdateBanner.js'; +import { SessionsScreen } from './screens/Sessions.js'; +import { SettingsScreen } from './screens/Settings.js'; import type { UpdateInfo } from './types/global.js'; export function App(): JSX.Element { const [version, setVersion] = useState(''); const [hasKey, setHasKey] = useState(null); const [update, setUpdate] = useState(null); + const [screen, setScreen] = useState('repl'); useEffect(() => { void window.deepcode.version().then(setVersion); @@ -35,9 +41,21 @@ export function App(): JSX.Element { DeepCode v{version} + {hasKey &&