refac
This commit is contained in:
@@ -7,7 +7,9 @@
|
|||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
const i18n = getContext('i18n');
|
const i18n = getContext('i18n');
|
||||||
|
|
||||||
import { models, settings, user } from '$lib/stores';
|
import { models, settings, user, terminalServers } from '$lib/stores';
|
||||||
|
import { getTerminalServers } from '$lib/apis/terminal';
|
||||||
|
import { WEBUI_API_BASE_URL } from '$lib/constants';
|
||||||
|
|
||||||
import Switch from '$lib/components/common/Switch.svelte';
|
import Switch from '$lib/components/common/Switch.svelte';
|
||||||
import Spinner from '$lib/components/common/Spinner.svelte';
|
import Spinner from '$lib/components/common/Spinner.svelte';
|
||||||
@@ -69,6 +71,18 @@
|
|||||||
|
|
||||||
if (res) {
|
if (res) {
|
||||||
toast.success($i18n.t('Terminal servers saved'));
|
toast.success($i18n.t('Terminal servers saved'));
|
||||||
|
|
||||||
|
// Refresh the terminalServers store so changes are reflected immediately
|
||||||
|
// Preserve user direct terminals, refresh system terminals from backend
|
||||||
|
const existingDirectTerminals = ($terminalServers ?? []).filter((t) => !t.id);
|
||||||
|
const systemTerminals = await getTerminalServers(localStorage.token);
|
||||||
|
const systemEntries = systemTerminals.map((t) => ({
|
||||||
|
id: t.id,
|
||||||
|
url: `${WEBUI_API_BASE_URL}/terminals/${t.id}`,
|
||||||
|
name: t.name,
|
||||||
|
key: localStorage.token
|
||||||
|
}));
|
||||||
|
terminalServers.set([...existingDirectTerminals, ...systemEntries]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -168,10 +168,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fetch terminal servers the user has access to (for FileNav + terminal_id)
|
// Fetch terminal servers the user has access to (for FileNav + terminal_id)
|
||||||
const backendTerminals = await getTerminalServers(localStorage.token);
|
const systemTerminals = await getTerminalServers(localStorage.token);
|
||||||
if (backendTerminals.length > 0) {
|
if (systemTerminals.length > 0) {
|
||||||
// Store with proxy URL and session key for FileNav file browsing
|
// Store with proxy URL and session key for FileNav file browsing
|
||||||
const terminalEntries = backendTerminals.map((t) => ({
|
const terminalEntries = systemTerminals.map((t) => ({
|
||||||
id: t.id,
|
id: t.id,
|
||||||
url: `${WEBUI_API_BASE_URL}/terminals/${t.id}`,
|
url: `${WEBUI_API_BASE_URL}/terminals/${t.id}`,
|
||||||
name: t.name,
|
name: t.name,
|
||||||
|
|||||||
Reference in New Issue
Block a user