From 0072c554fbb922d0b6b896e00dcd4805dcf45a5e Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 16 Oct 2024 14:52:49 -0700 Subject: [PATCH] tabs --- extensions/void/src/sidebar/Sidebar.tsx | 47 ++++++++++++------- .../void/src/sidebar/SidebarSettings.tsx | 5 +- .../void/src/sidebar/contextForConfig.tsx | 2 - 3 files changed, 34 insertions(+), 20 deletions(-) diff --git a/extensions/void/src/sidebar/Sidebar.tsx b/extensions/void/src/sidebar/Sidebar.tsx index 0ad474fb..684dbe71 100644 --- a/extensions/void/src/sidebar/Sidebar.tsx +++ b/extensions/void/src/sidebar/Sidebar.tsx @@ -5,21 +5,25 @@ import { awaitVSCodeResponse, getVSCodeAPI, onMessageFromVSCode, useOnVSCodeMess import { SidebarThreadSelector } from "./SidebarThreadSelector"; import { useThreads } from "./contextForThreads"; import { SidebarChat } from "./SidebarChat"; +import { SidebarSettings } from './SidebarSettings'; const Sidebar = () => { - const [isThreadSelectorOpen, setIsThreadSelectorOpen] = useState(false) + const [tab, setTab] = useState<'threadSelector' | 'chat' | 'settings'>('chat') - // if they pressed the + to add a new chat - useOnVSCodeMessage('startNewThread', (m) => { - setIsThreadSelectorOpen(false) - }) + // if they pressed the + to add a new chat + useOnVSCodeMessage('startNewThread', (m) => { + setTab('chat') + }) - // if they toggled thread selector - useOnVSCodeMessage('toggleThreadSelector', (m) => { - setIsThreadSelectorOpen(v => !v) - }) + // if they toggled thread selector + useOnVSCodeMessage('toggleThreadSelector', (m) => { + if (tab === 'threadSelector') + setTab('chat') + else + setTab('threadSelector') + }) // Receive messages from the VSCode extension @@ -33,15 +37,24 @@ const Sidebar = () => { }, []) - return <> -
- {isThreadSelectorOpen && ( -
- setIsThreadSelectorOpen(false)} /> -
- )} - + return <> +
+ +
+ setTab('chat')} /> +
+ +
+ +
+ +
+ +
+ + +
diff --git a/extensions/void/src/sidebar/SidebarSettings.tsx b/extensions/void/src/sidebar/SidebarSettings.tsx index 56118f0b..dfb5918e 100644 --- a/extensions/void/src/sidebar/SidebarSettings.tsx +++ b/extensions/void/src/sidebar/SidebarSettings.tsx @@ -9,7 +9,10 @@ export const SidebarSettings = () => { // only show the settings relevant to the current field - voidConfig.default.whichApi + // voidConfig.default.whichApi + + + return null } diff --git a/extensions/void/src/sidebar/contextForConfig.tsx b/extensions/void/src/sidebar/contextForConfig.tsx index 708ca286..f2e86a7f 100644 --- a/extensions/void/src/sidebar/contextForConfig.tsx +++ b/extensions/void/src/sidebar/contextForConfig.tsx @@ -18,8 +18,6 @@ const configString = (description: string, defaultVal: string) => { } - - const configFields = [ 'anthropic', 'openAI',