From 1e05852cdb84c09893ba6a9dd6c7099744fb39e3 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Tue, 3 Jun 2025 00:21:33 -0400 Subject: [PATCH] feat: edit?id= for admin models edit page --- .../components/admin/Settings/Models.svelte | 32 ++++++++++++++++--- .../admin/settings/models/edit/+page.svelte | 5 +++ 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 src/routes/(app)/admin/settings/models/edit/+page.svelte diff --git a/src/lib/components/admin/Settings/Models.svelte b/src/lib/components/admin/Settings/Models.svelte index 875d542ff..a4ede1648 100644 --- a/src/lib/components/admin/Settings/Models.svelte +++ b/src/lib/components/admin/Settings/Models.svelte @@ -12,7 +12,8 @@ deleteAllModels, getBaseModels, toggleModelById, - updateModelById + updateModelById, + getModelById } from '$lib/apis/models'; import { getModels } from '$lib/apis'; @@ -36,6 +37,9 @@ import Eye from '$lib/components/icons/Eye.svelte'; import { copyToClipboard } from '$lib/utils'; + import { page } from '$app/stores'; + import { goto } from '$app/navigation'; + let shiftKey = false; let importFiles; @@ -67,6 +71,24 @@ let searchValue = ''; + $: { + if ($page.url.pathname === '/admin/settings/models/edit') { + const modelIdFromUrl = $page.url.searchParams.get('id'); + if (modelIdFromUrl && models) { + const modelExists = models.some((m) => m.id === modelIdFromUrl); + if (modelExists) { + selectedModelId = modelIdFromUrl; + } else { + goto('/admin/settings/models', { replaceState: true }); + } + } else if (!modelIdFromUrl) { + goto('/admin/settings/models', { replaceState: true }); + } + } else if ($page.url.pathname === '/admin/settings/models' && selectedModelId !== null) { + selectedModelId = null; + } + } + const downloadModels = async (models) => { let blob = new Blob([JSON.stringify(models)], { type: 'application/json' @@ -314,7 +336,7 @@ class=" flex flex-1 text-left space-x-3.5 cursor-pointer w-full" type="button" on:click={() => { - selectedModelId = model.id; + goto(`/admin/settings/models/edit?id=${model.id}`); }} >