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');