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