From 263bbc77d803e83b9af4b04c0cae29705af5f072 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 14 Jul 2026 23:13:50 -0400 Subject: [PATCH] refac --- src/lib/components/admin/Settings.svelte | 642 +++++++++--------- .../components/admin/Settings/Audio.svelte | 6 +- .../admin/Settings/Authentication.svelte | 8 +- .../admin/Settings/CodeExecution.svelte | 6 +- .../admin/Settings/Connections.svelte | 4 +- .../components/admin/Settings/Database.svelte | 2 +- .../admin/Settings/Documents.svelte | 14 +- .../admin/Settings/Evaluations.svelte | 6 +- .../components/admin/Settings/General.svelte | 8 +- .../components/admin/Settings/Images.svelte | 6 +- .../admin/Settings/Integrations.svelte | 6 +- .../admin/Settings/Interface.svelte | 4 +- .../admin/Settings/Pipelines.svelte | 2 +- .../admin/Settings/Subagents.svelte | 4 +- .../admin/Settings/WebSearch.svelte | 6 +- src/lib/components/chat/MessageInput.svelte | 140 ++-- 16 files changed, 440 insertions(+), 424 deletions(-) diff --git a/src/lib/components/admin/Settings.svelte b/src/lib/components/admin/Settings.svelte index e14fe1a484..0f66575568 100644 --- a/src/lib/components/admin/Settings.svelte +++ b/src/lib/components/admin/Settings.svelte @@ -24,11 +24,9 @@ import Integrations from './Settings/Integrations.svelte'; import Subagents from './Settings/Subagents.svelte'; - import ChartBar from '../icons/ChartBar.svelte'; import DocumentChartBar from '../icons/DocumentChartBar.svelte'; import Search from '../icons/Search.svelte'; import User from '../icons/User.svelte'; - import XMark from '../icons/XMark.svelte'; const i18n = getContext('i18n'); @@ -310,6 +308,15 @@ }, 100); }; + $: selectedTabTitle = allSettings.find((tab) => tab.id === selectedTab)?.title ?? 'Settings'; + + const tabButtonClass = (active) => + `flex items-center gap-1.5 h-7 px-2 lg:w-full shrink-0 rounded-lg text-xs text-left transition-colors duration-75 select-none ${ + active + ? 'font-medium text-gray-900 dark:text-white bg-gray-100 dark:bg-white/6' + : 'text-gray-500 hover:text-gray-700 dark:hover:text-gray-300' + }`; + onMount(() => { const containerElement = document.getElementById('admin-settings-tabs-container'); @@ -328,326 +335,337 @@ }); -
- -
- {#if selectedTab === 'general'} - { - toast.success($i18n.t('Settings saved successfully!')); + - await tick(); - await config.set(await getBackendConfig()); - }} - /> - {:else if selectedTab === 'authentication'} - - {:else if selectedTab === 'connections'} - { - toast.success($i18n.t('Settings saved successfully!')); - }} - /> - {:else if selectedTab === 'models'} - - {:else if selectedTab === 'subagents'} - - {:else if selectedTab === 'evaluations'} - - {:else if selectedTab === 'integrations'} - - {:else if selectedTab === 'documents'} - { - toast.success($i18n.t('Settings saved successfully!')); + + + + + + + + + + + + + + + + {#each filteredSettings as tab (tab.id)} + +
+ {#if tab.id === 'general'} + + + + {:else if tab.id === 'authentication'} + + + + {:else if tab.id === 'connections'} + + + + {:else if tab.id === 'models'} + + + + {:else if tab.id === 'evaluations'} + + {:else if tab.id === 'integrations'} + + + + {:else if tab.id === 'subagents'} + + {:else if tab.id === 'documents'} + + + + + + {:else if tab.id === 'web'} + + + + {:else if tab.id === 'code-execution'} + + + + {:else if tab.id === 'interface'} + + + + {:else if tab.id === 'audio'} + + + + + {:else if tab.id === 'images'} + + + + {:else if tab.id === 'pipelines'} + + + + + + {:else if tab.id === 'db'} + + + + + + {/if} +
+
{$i18n.t(tab.title)}
+
+ {/each} +
+ - await tick(); - await config.set(await getBackendConfig()); - }} - /> - {:else if selectedTab === 'web'} - { - toast.success($i18n.t('Settings saved successfully!')); +
+

+ {$i18n.t(selectedTabTitle)} +

- await tick(); - await config.set(await getBackendConfig()); - }} - /> - {:else if selectedTab === 'code-execution'} - { - toast.success($i18n.t('Settings saved successfully!')); +
+ {#if selectedTab === 'general'} + { + toast.success($i18n.t('Settings saved successfully!')); - await tick(); - await config.set(await getBackendConfig()); - }} - /> - {:else if selectedTab === 'interface'} - { - toast.success($i18n.t('Settings saved successfully!')); - }} - /> - {:else if selectedTab === 'audio'} -
diff --git a/src/lib/components/admin/Settings/Audio.svelte b/src/lib/components/admin/Settings/Audio.svelte index 964aebf8e1..f3edc332c1 100644 --- a/src/lib/components/admin/Settings/Audio.svelte +++ b/src/lib/components/admin/Settings/Audio.svelte @@ -233,10 +233,10 @@ dispatch('save'); }} > -
+
-
{$i18n.t('Speech-to-Text')}
+
{$i18n.t('Speech-to-Text')}

@@ -539,7 +539,7 @@
-
{$i18n.t('Text-to-Speech')}
+
{$i18n.t('Text-to-Speech')}

diff --git a/src/lib/components/admin/Settings/Authentication.svelte b/src/lib/components/admin/Settings/Authentication.svelte index f503edbebe..7ba46c5437 100644 --- a/src/lib/components/admin/Settings/Authentication.svelte +++ b/src/lib/components/admin/Settings/Authentication.svelte @@ -111,10 +111,10 @@ class="flex flex-col h-full justify-between space-y-3 text-sm" on:submit|preventDefault={submitHandler} > -
+
{#if adminConfig !== null}
-
{$i18n.t('User Access')}
+
{$i18n.t('User Access')}

@@ -237,7 +237,7 @@
{/if}
-
{$i18n.t('Pending Accounts')}
+
{$i18n.t('Pending Accounts')}

@@ -502,7 +502,7 @@
{#if oauthConfig}
-
{$i18n.t('OAuth / OIDC')}
+
{$i18n.t('OAuth / OIDC')}

diff --git a/src/lib/components/admin/Settings/CodeExecution.svelte b/src/lib/components/admin/Settings/CodeExecution.svelte index cdad48249a..698a30b15b 100644 --- a/src/lib/components/admin/Settings/CodeExecution.svelte +++ b/src/lib/components/admin/Settings/CodeExecution.svelte @@ -37,11 +37,11 @@ saveHandler(); }} > -
+
{#if config}
-
{$i18n.t('Code Execution')}
+
{$i18n.t('Code Execution')}

@@ -170,7 +170,7 @@
-
{$i18n.t('Code Interpreter')}
+
{$i18n.t('Code Interpreter')}

diff --git a/src/lib/components/admin/Settings/Connections.svelte b/src/lib/components/admin/Settings/Connections.svelte index bf442c2239..5c94e9237e 100644 --- a/src/lib/components/admin/Settings/Connections.svelte +++ b/src/lib/components/admin/Settings/Connections.svelte @@ -216,10 +216,10 @@ />
-
+
{#if ENABLE_OPENAI_API !== null && ENABLE_OLLAMA_API !== null && connectionsConfig !== null}
-
{$i18n.t('General')}
+
{$i18n.t('General')}

diff --git a/src/lib/components/admin/Settings/Database.svelte b/src/lib/components/admin/Settings/Database.svelte index 077a965d1f..c676309e19 100644 --- a/src/lib/components/admin/Settings/Database.svelte +++ b/src/lib/components/admin/Settings/Database.svelte @@ -50,7 +50,7 @@
-
+
{#if RAGConfig} -
+
-
{$i18n.t('General')}
+
{$i18n.t('General')}

@@ -1036,7 +1036,7 @@ {#if !RAGConfig.BYPASS_EMBEDDING_AND_RETRIEVAL}
-
{$i18n.t('Embedding')}
+
{$i18n.t('Embedding')}

@@ -1250,7 +1250,7 @@ {/if}
-
{$i18n.t('Retrieval')}
+
{$i18n.t('Retrieval')}

@@ -1532,7 +1532,7 @@
-
{$i18n.t('Files')}
+
{$i18n.t('Files')}

@@ -1644,7 +1644,7 @@
-
{$i18n.t('Integration')}
+
{$i18n.t('Integration')}

@@ -1664,7 +1664,7 @@
-
{$i18n.t('Danger Zone')}
+
{$i18n.t('Danger Zone')}

diff --git a/src/lib/components/admin/Settings/Evaluations.svelte b/src/lib/components/admin/Settings/Evaluations.svelte index dbc8bcd1cc..6a31e7c06d 100644 --- a/src/lib/components/admin/Settings/Evaluations.svelte +++ b/src/lib/components/admin/Settings/Evaluations.svelte @@ -100,11 +100,11 @@ dispatch('save'); }} > -
+
{#if evaluationConfig !== null}
-
{$i18n.t('General')}
+
{$i18n.t('General')}

@@ -119,7 +119,7 @@ {#if evaluationConfig.ENABLE_EVALUATION_ARENA_MODELS}
-
+
{$i18n.t('Manage')}
diff --git a/src/lib/components/admin/Settings/General.svelte b/src/lib/components/admin/Settings/General.svelte index f264c704f8..1bb505cbbc 100644 --- a/src/lib/components/admin/Settings/General.svelte +++ b/src/lib/components/admin/Settings/General.svelte @@ -77,11 +77,11 @@ updateHandler(); }} > -
+
{#if adminConfig !== null}
-
{$i18n.t('General')}
+
{$i18n.t('General')}

@@ -239,7 +239,7 @@
-
{$i18n.t('Features')}
+
{$i18n.t('Features')}

@@ -390,7 +390,7 @@
-
{$i18n.t('UI')}
+
{$i18n.t('UI')}

diff --git a/src/lib/components/admin/Settings/Images.svelte b/src/lib/components/admin/Settings/Images.svelte index 78dc1063cd..6569b7613c 100644 --- a/src/lib/components/admin/Settings/Images.svelte +++ b/src/lib/components/admin/Settings/Images.svelte @@ -293,7 +293,7 @@ {#if config}
-
{$i18n.t('General')}
+
{$i18n.t('General')}

@@ -311,7 +311,7 @@
-
{$i18n.t('Create Image')}
+
{$i18n.t('Create Image')}

@@ -884,7 +884,7 @@
-
{$i18n.t('Edit Image')}
+
{$i18n.t('Edit Image')}

diff --git a/src/lib/components/admin/Settings/Integrations.svelte b/src/lib/components/admin/Settings/Integrations.svelte index 036190d3c3..39525f65d9 100644 --- a/src/lib/components/admin/Settings/Integrations.svelte +++ b/src/lib/components/admin/Settings/Integrations.svelte @@ -160,11 +160,11 @@ updateHandler(); }} > -
+
{#if servers !== null}
-
{$i18n.t('Tools')}
+
{$i18n.t('Tools')}

@@ -309,7 +309,7 @@
-
{$i18n.t('Knowledge')}
+
{$i18n.t('Knowledge')}

diff --git a/src/lib/components/admin/Settings/Interface.svelte b/src/lib/components/admin/Settings/Interface.svelte index 87773ed3cc..2ca39471f9 100644 --- a/src/lib/components/admin/Settings/Interface.svelte +++ b/src/lib/components/admin/Settings/Interface.svelte @@ -106,9 +106,9 @@ dispatch('save'); }} > -
+
-
{$i18n.t('Tasks')}
+
{$i18n.t('Tasks')}

diff --git a/src/lib/components/admin/Settings/Pipelines.svelte b/src/lib/components/admin/Settings/Pipelines.svelte index 723f8c4f2e..cfcd13148b 100644 --- a/src/lib/components/admin/Settings/Pipelines.svelte +++ b/src/lib/components/admin/Settings/Pipelines.svelte @@ -221,7 +221,7 @@ updateHandler(); }} > -
+
{#if PIPELINES_LIST !== null}
diff --git a/src/lib/components/admin/Settings/Subagents.svelte b/src/lib/components/admin/Settings/Subagents.svelte index 06d14fecaa..43bb56c6be 100644 --- a/src/lib/components/admin/Settings/Subagents.svelte +++ b/src/lib/components/admin/Settings/Subagents.svelte @@ -57,8 +57,8 @@ -
-
{$i18n.t('Sub-agents')}
+
+
{$i18n.t('Sub-agents')}
{#if loading}
diff --git a/src/lib/components/admin/Settings/WebSearch.svelte b/src/lib/components/admin/Settings/WebSearch.svelte index 4f8e9444ea..93f0c9878a 100644 --- a/src/lib/components/admin/Settings/WebSearch.svelte +++ b/src/lib/components/admin/Settings/WebSearch.svelte @@ -150,11 +150,11 @@ saveHandler(); }} > -
+
{#if webConfig}
-
{$i18n.t('General')}
+
{$i18n.t('General')}

@@ -1137,7 +1137,7 @@
-
{$i18n.t('Loader')}
+
{$i18n.t('Loader')}

diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 0464e09586..08916ddb9d 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1403,80 +1403,78 @@ {/if} {#if showStatusPanel} -
- +
- {#if chatTasks.length} -
- Tasks - - {chatTasks.length} - -
- {/if} - -
+
+
+ Context usage + - Chat ID - {#if chatId} - - {:else} - - none - - {/if} -
- + {contextValue} + +
+
+
+
+
+ + {#if messageQueue.length} +
+ Queued messages + + {messageQueue.length} + +
+ {/if} + + {#if chatTasks.length} +
+ Tasks + + {chatTasks.length} + +
+ {/if} + +
+ Chat ID + {#if chatId} + + {:else} + + none + + {/if}