From 97728734a72e5effdabaa530a4d669cc4cc05b39 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Tue, 20 May 2025 11:29:18 +0700 Subject: [PATCH 1/2] chore: model loading and truncate dropdown assiatant title --- web-app/src/containers/ChatInput.tsx | 19 +++++++++++++------ web-app/src/containers/DropdownAssistant.tsx | 6 +++--- web-app/src/routes/threads/$threadId.tsx | 7 ++----- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/web-app/src/containers/ChatInput.tsx b/web-app/src/containers/ChatInput.tsx index 63a396f34..01a33260d 100644 --- a/web-app/src/containers/ChatInput.tsx +++ b/web-app/src/containers/ChatInput.tsx @@ -10,7 +10,6 @@ import { IconPaperclip, IconWorld, IconAtom, - IconMicrophone, IconEye, IconTool, IconCodeCircle2, @@ -29,6 +28,7 @@ import { SystemEvent } from '@/types/events' import { getTools } from '@/services/mcp' import { useChat } from '@/hooks/useChat' import DropdownModelProvider from '@/containers/DropdownModelProvider' +import { ModelLoader } from '@/containers/loaders/ModelLoader' type ChatInputProps = { className?: string @@ -44,7 +44,8 @@ const ChatInput = ({ const textareaRef = useRef(null) const [isFocused, setIsFocused] = useState(false) const [rows, setRows] = useState(1) - const { streamingContent, updateTools, abortControllers } = useAppState() + const { streamingContent, updateTools, abortControllers, loadingModel } = + useAppState() const { prompt, setPrompt } = usePrompt() const { t } = useTranslation() const { spellCheckChatInput } = useGeneralSetting() @@ -53,6 +54,8 @@ const ChatInput = ({ const { selectedModel } = useModelProvider() const { sendMessage } = useChat() + console.log(model) + useEffect(() => { const handleFocusIn = () => { if (document.activeElement === textareaRef.current) { @@ -173,17 +176,21 @@ const ChatInput = ({ streamingContent && 'opacity-50 pointer-events-none' )} > - + {model?.provider === 'llama.cpp' && loadingModel ? ( + + ) : ( + + )} {/* File attachment - always available */}
- {/* Microphone - always available */} -
+ {/* Microphone - always available - Temp Hide */} + {/*
-
+
*/} {selectedModel?.capabilities?.includes('vision') && (
diff --git a/web-app/src/containers/DropdownAssistant.tsx b/web-app/src/containers/DropdownAssistant.tsx index 51cdc4c7b..3c9b43936 100644 --- a/web-app/src/containers/DropdownAssistant.tsx +++ b/web-app/src/containers/DropdownAssistant.tsx @@ -41,7 +41,7 @@ const DropdownAssistant = () => {
{ console.log('edit clicked', selectedAssistant) if (selectedAssistant) { @@ -64,7 +64,7 @@ const DropdownAssistant = () => { align="start" > {assistants.map((assistant) => ( -
+
{ {assistant.name} -
+
({ @@ -172,9 +172,6 @@ function ThreadDetail() {
- {thread?.model?.provider === 'llama.cpp' && loadingModel && ( - - )}
Date: Tue, 20 May 2025 12:21:30 +0700 Subject: [PATCH 2/2] chore: update copy --- web-app/src/containers/LeftPanel.tsx | 2 +- web-app/src/routes/assistant.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web-app/src/containers/LeftPanel.tsx b/web-app/src/containers/LeftPanel.tsx index 1025bcdb7..733962b18 100644 --- a/web-app/src/containers/LeftPanel.tsx +++ b/web-app/src/containers/LeftPanel.tsx @@ -48,7 +48,7 @@ const mainMenus = [ route: route.home, }, { - title: 'Assistant', + title: 'Assistants', icon: IconClipboardSmileFilled, route: route.assistant, }, diff --git a/web-app/src/routes/assistant.tsx b/web-app/src/routes/assistant.tsx index e13951ec8..11e288b4c 100644 --- a/web-app/src/routes/assistant.tsx +++ b/web-app/src/routes/assistant.tsx @@ -56,7 +56,7 @@ function Assistant() { return (
- Assistant + Assistants