diff --git a/CHANGELOG.md b/CHANGELOG.md index 050fcf3d..c2ad84c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - VS Code extension: reorganized extension location. It is now on the right sidebar for VSCode and on the left for Cursor/Windsurf. +- VS Code extension: Move Navigation Info into the title bar. - Worktrees now do not create a remote branch by default; only the push action publishes the branch to remote. diff --git a/packages/ui/src/components/layout/VSCodeLayout.tsx b/packages/ui/src/components/layout/VSCodeLayout.tsx index 41752cdc..44af1d72 100644 --- a/packages/ui/src/components/layout/VSCodeLayout.tsx +++ b/packages/ui/src/components/layout/VSCodeLayout.tsx @@ -52,11 +52,6 @@ export const VSCodeLayout: React.FC = () => { setCurrentView('sessions'); }, []); - const handleNewSession = React.useCallback(() => { - openNewSessionDraft(); - setCurrentView('chat'); - }, [openNewSessionDraft]); - // Listen for connection status changes React.useEffect(() => { const handler = (event: Event) => { @@ -70,6 +65,23 @@ export const VSCodeLayout: React.FC = () => { return () => window.removeEventListener('openchamber:connection-status', handler as EventListener); }, []); + // Listen for navigation events from VS Code extension title bar buttons + React.useEffect(() => { + const handler = (event: Event) => { + const detail = (event as CustomEvent<{ view?: string }>).detail; + const view = detail?.view; + if (view === 'settings') { + setCurrentView('settings'); + } else if (view === 'chat') { + setCurrentView('chat'); + } else if (view === 'sessions') { + setCurrentView('sessions'); + } + }; + window.addEventListener('openchamber:navigate', handler as EventListener); + return () => window.removeEventListener('openchamber:navigate', handler as EventListener); + }, []); + // Bootstrap config and sessions when connected React.useEffect(() => { const runBootstrap = async () => { @@ -140,8 +152,6 @@ export const VSCodeLayout: React.FC = () => {