From 667cba1a9561166941f59faf3bfa24038288b449 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Wed, 15 Jul 2026 16:31:27 -0400 Subject: [PATCH] refac --- .../components/admin/Settings/Models.svelte | 15 ++++++++------- .../chat/ModelSelector/ModelItemMenu.svelte | 12 ++++++------ .../components/chat/Settings/General.svelte | 5 +---- src/lib/components/chat/SettingsModal.svelte | 18 ++++++++++++++---- src/lib/stores/index.ts | 7 ++++++- 5 files changed, 35 insertions(+), 22 deletions(-) diff --git a/src/lib/components/admin/Settings/Models.svelte b/src/lib/components/admin/Settings/Models.svelte index e70a1baa03..0dee70cda2 100644 --- a/src/lib/components/admin/Settings/Models.svelte +++ b/src/lib/components/admin/Settings/Models.svelte @@ -6,7 +6,7 @@ import { onMount, getContext, tick } from 'svelte'; const i18n = getContext('i18n'); - import { WEBUI_NAME, config, mobile, models as _models, settings, user } from '$lib/stores'; + import { config, models as _models, settings, user } from '$lib/stores'; import { createNewModel, deleteAllModels, @@ -18,7 +18,6 @@ importModels } from '$lib/apis/models'; import { copyToClipboard } from '$lib/utils'; - import { page } from '$app/stores'; import { updateUserSettings } from '$lib/apis/users'; import { getModels } from '$lib/apis'; @@ -53,6 +52,8 @@ let shiftKey = false; + export let tabState: Record | null = null; + let modelsImportInProgress = false; let importFiles; let modelsImportInputElement: HTMLInputElement; @@ -73,6 +74,11 @@ let tags: string[] = []; let selectedTag = ''; + $: if (typeof tabState?.id === 'string' && tabState.id) { + selectedModelId = tabState.id; + tabState = null; + } + const perPage = 30; let currentPage = 1; @@ -399,11 +405,6 @@ onMount(async () => { await init(); - const id = $page.url.searchParams.get('id'); - - if (id) { - selectedModelId = id; - } const onKeyDown = (event) => { if (event.key === 'Shift') { diff --git a/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte b/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte index 850aef59af..5dd88d54b4 100644 --- a/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte +++ b/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte @@ -9,7 +9,7 @@ import PinSlash from '$lib/components/icons/PinSlash.svelte'; import Link from '$lib/components/icons/Link.svelte'; import Pencil from '$lib/components/icons/Pencil.svelte'; - import { config, settings, user } from '$lib/stores'; + import { config, settings, showSettings, user } from '$lib/stores'; import GlobeAlt from '$lib/components/icons/GlobeAlt.svelte'; const i18n = getContext('i18n'); @@ -53,11 +53,11 @@ e.stopPropagation(); e.preventDefault(); - goto( - model?.preset || model?.info?.base_model_id - ? `/workspace/models/edit?id=${encodeURIComponent(model?.id ?? '')}` - : `/admin/settings/models?id=${encodeURIComponent(model?.id ?? '')}` - ); + if (model?.preset || model?.info?.base_model_id) { + goto(`/workspace/models/edit?id=${encodeURIComponent(model?.id ?? '')}`); + } else { + showSettings.set({ tab: 'admin:models', state: { id: model?.id ?? null } }); + } show = false; }} > diff --git a/src/lib/components/chat/Settings/General.svelte b/src/lib/components/chat/Settings/General.svelte index d2164580bf..e868a45258 100644 --- a/src/lib/components/chat/Settings/General.svelte +++ b/src/lib/components/chat/Settings/General.svelte @@ -306,10 +306,7 @@