diff --git a/src/lib/components/admin/Settings/Models.svelte b/src/lib/components/admin/Settings/Models.svelte
index 7a3361682..f084de65a 100644
--- a/src/lib/components/admin/Settings/Models.svelte
+++ b/src/lib/components/admin/Settings/Models.svelte
@@ -137,7 +137,7 @@
});
-
+
{#if models !== null}
{#if selectedModelId === null}
diff --git a/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte b/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte
index 4922b5b6f..23865c184 100644
--- a/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte
+++ b/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte
@@ -18,7 +18,7 @@
import Plus from '$lib/components/icons/Plus.svelte';
export let show = false;
- export let init = () => {};
+ export let initHandler = () => {};
let config = null;
@@ -29,26 +29,11 @@
let loading = false;
let showResetModal = false;
- const submitHandler = async () => {
- loading = true;
+ $: if (show) {
+ init();
+ }
- const res = await setModelsConfig(localStorage.token, {
- DEFAULT_MODELS: defaultModelIds.join(','),
- MODEL_ORDER_LIST: modelIds
- });
-
- if (res) {
- toast.success($i18n.t('Models configuration saved successfully'));
- init();
- show = false;
- } else {
- toast.error($i18n.t('Failed to save models configuration'));
- }
-
- loading = false;
- };
-
- onMount(async () => {
+ const init = async () => {
config = await getModelsConfig(localStorage.token);
if (config?.DEFAULT_MODELS) {
@@ -68,6 +53,28 @@
// Add remaining IDs not in MODEL_ORDER_LIST, sorted alphabetically
...allModelIds.filter((id) => !orderedSet.has(id)).sort((a, b) => a.localeCompare(b))
];
+ };
+ const submitHandler = async () => {
+ loading = true;
+
+ const res = await setModelsConfig(localStorage.token, {
+ DEFAULT_MODELS: defaultModelIds.join(','),
+ MODEL_ORDER_LIST: modelIds
+ });
+
+ if (res) {
+ toast.success($i18n.t('Models configuration saved successfully'));
+ initHandler();
+ show = false;
+ } else {
+ toast.error($i18n.t('Failed to save models configuration'));
+ }
+
+ loading = false;
+ };
+
+ onMount(async () => {
+ init();
});
@@ -79,7 +86,7 @@
const res = deleteAllModels(localStorage.token);
if (res) {
toast.success($i18n.t('All models deleted successfully'));
- init();
+ initHandler();
}
}}
/>