From 3f08987a0230835e7d496b1d2e7beb7d2d5d53da Mon Sep 17 00:00:00 2001 From: Nahiyan Khan Date: Fri, 27 Jun 2025 05:58:35 -0400 Subject: [PATCH] iteration --- ui/desktop/src/components/ChatInput.tsx | 83 +++++++++---- ui/desktop/src/components/ChatView.tsx | 14 +-- .../components/GooseSidebar/AppSidebar.tsx | 17 ++- .../src/components/Layout/MainPanelLayout.tsx | 2 +- .../components/bottom_menu/DirSwitcher.tsx | 7 +- ui/desktop/src/components/hub.tsx | 12 +- ui/desktop/src/components/pair.tsx | 18 +-- .../src/components/settings/SettingsView.tsx | 114 ++++++++++++++---- ui/desktop/src/components/ui/button.tsx | 15 ++- .../src/components/ui/vertical-tabs.tsx | 68 +++++++++++ 10 files changed, 268 insertions(+), 82 deletions(-) create mode 100644 ui/desktop/src/components/ui/vertical-tabs.tsx diff --git a/ui/desktop/src/components/ChatInput.tsx b/ui/desktop/src/components/ChatInput.tsx index 3e9850be12..c3d8c6dbfc 100644 --- a/ui/desktop/src/components/ChatInput.tsx +++ b/ui/desktop/src/components/ChatInput.tsx @@ -4,9 +4,15 @@ import type { View } from '../App'; import Stop from './ui/Stop'; import { Attach, Send, Close } from './icons'; import { debounce } from 'lodash'; -import BottomMenu from './bottom_menu/BottomMenu'; import { LocalMessageStorage } from '../utils/localMessageStorage'; import { Message } from '../types/message'; +import { DirSwitcher } from './bottom_menu/DirSwitcher'; +import BottomMenuAlertPopover from './bottom_menu/BottomMenuAlertPopover'; +import ModelsBottomBar from './settings/models/bottom_bar/ModelsBottomBar'; +import { BottomMenuModeSelection } from './bottom_menu/BottomMenuModeSelection'; +import { ManualSummarizeButton } from './context_management/ManualSummaryButton'; +import { useAlerts } from './alerts'; +import { useToolCount } from './alerts/useToolCount'; interface PastedImage { id: string; @@ -41,11 +47,19 @@ export default function ChatInput({ commandHistory = [], initialValue = '', droppedFiles = [], + setView, + numTokens, + hasMessages, + messages = [], + setMessages, }: ChatInputProps) { const [_value, setValue] = useState(initialValue); const [displayValue, setDisplayValue] = useState(initialValue); // For immediate visual feedback const [isFocused, setIsFocused] = useState(false); const [pastedImages, setPastedImages] = useState([]); + const { alerts, addAlert, clearAlerts } = useAlerts(); + const dropdownRef = useRef(null); + const toolCount = useToolCount(); // Update internal value when initialValue changes useEffect(() => { @@ -434,7 +448,11 @@ export default function ChatInput({ : 'border-borderSubtle hover:border-borderStandard' } z-10`} > -
+ {/* DirSwitcher at the top */} +
+ 0} /> +
+