From 4b752d7113c45a67d1c0cd22546d47c1f94a2782 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Sun, 8 Feb 2026 23:44:38 +0100 Subject: [PATCH] refactor: Consolidate MCP server settings into ChatSettings --- .../ChatFormActions/ChatFormActions.svelte | 8 +++-- .../app/chat/ChatSettings/ChatSettings.svelte | 13 +++++++-- .../src/lib/components/app/chat/index.ts | 2 +- .../app/dialogs/DialogChatSettings.svelte | 6 ++-- .../src/lib/components/app/dialogs/index.ts | 29 ------------------- .../webui/src/lib/components/app/mcp/index.ts | 2 +- 6 files changed, 22 insertions(+), 38 deletions(-) diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte index 9022888ecd..7e8dcfd13f 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte @@ -8,7 +8,8 @@ McpServersSelector, ModelsSelector } from '$lib/components/app'; - import { DialogMcpServersSettings } from '$lib/components/app/dialogs'; + import { DialogChatSettings } from '$lib/components/app/dialogs'; + import { SETTINGS_SECTION_TITLES } from '$lib/constants/settings-sections'; import { mcpStore } from '$lib/stores/mcp.svelte'; import { FileTypeCategory } from '$lib/enums'; import { getFileTypeCategory } from '$lib/utils'; @@ -230,7 +231,8 @@ {/if} - (showMcpDialog = open)} + initialSection={SETTINGS_SECTION_TITLES.MCP} /> diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte index 780108a122..8a5bb2f653 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte @@ -28,9 +28,10 @@ interface Props { onSave?: () => void; + initialSection?: SettingsSectionTitle; } - let { onSave }: Props = $props(); + let { onSave, initialSection }: Props = $props(); const settingSections: Array<{ fields: SettingsFieldConfig[]; @@ -307,7 +308,15 @@ // } ]; - let activeSection = $state(SETTINGS_SECTION_TITLES.GENERAL); + let activeSection = $state( + initialSection ?? SETTINGS_SECTION_TITLES.GENERAL + ); + + $effect(() => { + if (initialSection) { + activeSection = initialSection; + } + }); let currentSection = $derived( settingSections.find((section) => section.title === activeSection) || settingSections[0] ); diff --git a/tools/server/webui/src/lib/components/app/chat/index.ts b/tools/server/webui/src/lib/components/app/chat/index.ts index b5db07c4a7..776086e7ef 100644 --- a/tools/server/webui/src/lib/components/app/chat/index.ts +++ b/tools/server/webui/src/lib/components/app/chat/index.ts @@ -634,7 +634,7 @@ export { default as ChatScreenProcessingInfo } from './ChatScreen/ChatScreenProc * - **Sampling**: Temperature, top_p, top_k, min_p, repeat_penalty, etc. * - **Penalties**: Frequency penalty, presence penalty, repeat last N * - **Import/Export**: Conversation backup and restore - * - **MCP**: MCP server management (opens DialogMcpServersSettings) + * - **MCP**: MCP server management (opens DialogChatSettings with MCP tab) * - **Developer**: Debug options, disable auto-scroll * * **Parameter Sync:** diff --git a/tools/server/webui/src/lib/components/app/dialogs/DialogChatSettings.svelte b/tools/server/webui/src/lib/components/app/dialogs/DialogChatSettings.svelte index 9caebbefa5..7b1e598ce7 100644 --- a/tools/server/webui/src/lib/components/app/dialogs/DialogChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/dialogs/DialogChatSettings.svelte @@ -1,13 +1,15 @@