From 252e6fd855099e1c880f4def18aa09aedbe1733a Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Thu, 9 Jul 2026 17:30:02 -0500 Subject: [PATCH] refac --- src/routes/(app)/admin/+layout.svelte | 21 ++++++++++++------- src/routes/(app)/admin/functions/+page.svelte | 8 ++++++- .../(app)/admin/functions/create/+page.svelte | 5 +++++ .../(app)/admin/functions/edit/+page.svelte | 5 +++++ 4 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/routes/(app)/admin/+layout.svelte b/src/routes/(app)/admin/+layout.svelte index 66e106d8d2..b263671868 100644 --- a/src/routes/(app)/admin/+layout.svelte +++ b/src/routes/(app)/admin/+layout.svelte @@ -15,6 +15,11 @@ onMount(async () => { if ($user?.role !== 'admin') { await goto('/'); + } else if ( + !$config?.features?.enable_plugins && + $page.url.pathname.includes('/admin/functions') + ) { + await goto('/admin'); } loaded = true; }); @@ -85,13 +90,15 @@ href="/admin/evaluations">{$i18n.t('Evaluations')} - {$i18n.t('Functions')} + {#if $config?.features?.enable_plugins} + {$i18n.t('Functions')} + {/if} import { onMount } from 'svelte'; - import { functions } from '$lib/stores'; + import { config, functions } from '$lib/stores'; + import { goto } from '$app/navigation'; import { getFunctions } from '$lib/apis/functions'; import Functions from '$lib/components/admin/Functions.svelte'; onMount(async () => { + if (!$config?.features?.enable_plugins) { + await goto('/admin'); + return; + } + await Promise.all([ (async () => { functions.set(await getFunctions(localStorage.token)); diff --git a/src/routes/(app)/admin/functions/create/+page.svelte b/src/routes/(app)/admin/functions/create/+page.svelte index bb13a759fd..bcb6be7326 100644 --- a/src/routes/(app)/admin/functions/create/+page.svelte +++ b/src/routes/(app)/admin/functions/create/+page.svelte @@ -61,6 +61,11 @@ }; onMount(() => { + if (!$config?.features?.enable_plugins) { + goto('/admin'); + return; + } + window.addEventListener('message', async (event) => { if ( !['https://openwebui.com', 'https://www.openwebui.com', 'http://localhost:9999'].includes( diff --git a/src/routes/(app)/admin/functions/edit/+page.svelte b/src/routes/(app)/admin/functions/edit/+page.svelte index 6a456b983e..9926d1477d 100644 --- a/src/routes/(app)/admin/functions/edit/+page.svelte +++ b/src/routes/(app)/admin/functions/edit/+page.svelte @@ -60,6 +60,11 @@ }; onMount(async () => { + if (!$config?.features?.enable_plugins) { + goto('/admin'); + return; + } + console.log('mounted'); const id = $page.url.searchParams.get('id');