From ada07aa799a6855872164f0cbd536f98e7d246f9 Mon Sep 17 00:00:00 2001 From: Xubin Ren <52506698+Re-bin@users.noreply.github.com> Date: Fri, 7 Aug 2026 07:55:29 +0800 Subject: [PATCH] feat(webui): add responsive model preset detail pane --- .../src/components/settings/SettingsView.tsx | 109 +++++++++++++----- webui/src/i18n/locales/en/common.json | 3 + webui/src/i18n/locales/es/common.json | 3 + webui/src/i18n/locales/fr/common.json | 3 + webui/src/i18n/locales/id/common.json | 3 + webui/src/i18n/locales/ja/common.json | 3 + webui/src/i18n/locales/ko/common.json | 3 + webui/src/i18n/locales/pt-BR/common.json | 3 + webui/src/i18n/locales/vi/common.json | 3 + webui/src/i18n/locales/zh-CN/common.json | 3 + webui/src/i18n/locales/zh-TW/common.json | 3 + webui/src/tests/settings-view.test.tsx | 42 +++++++ 12 files changed, 155 insertions(+), 26 deletions(-) diff --git a/webui/src/components/settings/SettingsView.tsx b/webui/src/components/settings/SettingsView.tsx index 194163a31..c95cc9b2d 100644 --- a/webui/src/components/settings/SettingsView.tsx +++ b/webui/src/components/settings/SettingsView.tsx @@ -3375,10 +3375,9 @@ function ModelsSettings({ ); const callOrderBusy = orderSaving || saving; const selectPreset = (preset: SettingsPayload["model_presets"][number]) => { - const toggleCurrentPreset = !creating && selectedPreset?.name === preset.name; onSelectConfiguration(); - if (toggleCurrentPreset) { - setEditorOpen((open) => !open); + if (!creating && selectedPreset?.name === preset.name) { + setEditorOpen(true); return; } setForm((prev) => ({ @@ -3394,6 +3393,11 @@ function ModelsSettings({ })); setEditorOpen(true); }; + const closeEditor = () => { + if (creatingSaving) return; + if (creating) onCancelCreate(); + setEditorOpen(false); + }; const moveCallOrderItem = (index: number, offset: -1 | 1) => { if (callOrderBusy) return; @@ -3473,7 +3477,13 @@ function ModelsSettings({ ) : ( - <> +
+ {tx("settings.models.selectPreset", "Select a preset")} +
++ {tx( + "settings.models.selectPresetHelp", + "Select a preset from the list to edit its model and generation settings.", + )} +
+