From 03288d9fcad191958cd941b33946e30b195c6f2e Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Fri, 23 May 2025 17:30:17 +0400 Subject: [PATCH] refac: redesign --- src/lib/components/chat/MessageInput.svelte | 130 ++++++++++++-------- 1 file changed, 79 insertions(+), 51 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index de438a88b..5dabbb08c 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -151,6 +151,30 @@ .map((id) => ($models.find((model) => model.id === id) || {})?.filters ?? []) .reduce((acc, filters) => acc.filter((f1) => filters.some((f2) => f2.id === f1.id))); + let showToolsButton = false; + $: showToolsButton = toolServers.length + selectedToolIds.length > 0; + + let showWebSearchButton = false; + $: showWebSearchButton = + (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === + webSearchCapableModels.length && + $config?.features?.enable_web_search && + ($_user.role === 'admin' || $_user?.permissions?.features?.web_search); + + let showImageGenerationButton = false; + $: showImageGenerationButton = + (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === + imageGenerationCapableModels.length && + $config?.features?.enable_image_generation && + ($_user.role === 'admin' || $_user?.permissions?.features?.image_generation); + + let showCodeInterpreterButton = false; + $: showCodeInterpreterButton = + (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === + codeInterpreterCapableModels.length && + $config?.features?.enable_code_interpreter && + ($_user.role === 'admin' || $_user?.permissions?.features?.code_interpreter); + const scrollToBottom = () => { const element = document.getElementById('messages-container'); element.scrollTo({ @@ -1091,8 +1115,8 @@ {/if} -
-
+
+
-
- {#if toolServers.length + selectedToolIds.length > 0} - - - - {/if} + + {toolServers.length + selectedToolIds.length} + + + + {/if} - {#if $_user} {#each toggleFilters as filter, filterIdx (filter.id)} {/each} - {#if (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === webSearchCapableModels.length && $config?.features?.enable_web_search && ($_user.role === 'admin' || $_user?.permissions?.features?.web_search)} + {#if showWebSearchButton} {/if} - {#if (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === imageGenerationCapableModels.length && $config?.features?.enable_image_generation && ($_user.role === 'admin' || $_user?.permissions?.features?.image_generation)} + {#if showImageGenerationButton} {/if} - {#if (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === codeInterpreterCapableModels.length && $config?.features?.enable_code_interpreter && ($_user.role === 'admin' || $_user?.permissions?.features?.code_interpreter)} + {#if showCodeInterpreterButton} {/if} - {/if} -
+
+ {/if}