mirror of
https://github.com/open-webui/open-webui
synced 2024-11-22 08:07:55 +00:00
feat: backend required error page
This commit is contained in:
parent
540b50e176
commit
8d5c3ee56f
@ -31,13 +31,13 @@ if ENV == "prod":
|
||||
# WEBUI_VERSION
|
||||
####################################
|
||||
|
||||
WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.40")
|
||||
WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.42")
|
||||
|
||||
####################################
|
||||
# WEBUI_AUTH
|
||||
# WEBUI_AUTH (Required for security)
|
||||
####################################
|
||||
|
||||
WEBUI_AUTH = True if os.environ.get("WEBUI_AUTH", "FALSE") == "TRUE" else False
|
||||
WEBUI_AUTH = True
|
||||
|
||||
####################################
|
||||
# WEBUI_JWT_SECRET_KEY
|
||||
|
@ -11,7 +11,8 @@
|
||||
let loaded = false;
|
||||
|
||||
onMount(async () => {
|
||||
const resBackend = await fetch(`${WEBUI_API_BASE_URL}/`, {
|
||||
// Check Backend Status
|
||||
const res = await fetch(`${WEBUI_API_BASE_URL}/`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
@ -26,13 +27,14 @@
|
||||
return null;
|
||||
});
|
||||
|
||||
console.log(resBackend);
|
||||
await config.set(resBackend);
|
||||
if (res) {
|
||||
await config.set(res);
|
||||
console.log(res);
|
||||
|
||||
if ($config) {
|
||||
if ($config.auth) {
|
||||
if ($config) {
|
||||
if (localStorage.token) {
|
||||
const res = await fetch(`${WEBUI_API_BASE_URL}/auths`, {
|
||||
// Get Session User Info
|
||||
const sessionUser = await fetch(`${WEBUI_API_BASE_URL}/auths`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@ -49,8 +51,8 @@
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res) {
|
||||
await user.set(res);
|
||||
if (sessionUser) {
|
||||
await user.set(sessionUser);
|
||||
} else {
|
||||
localStorage.removeItem('token');
|
||||
await goto('/auth');
|
||||
@ -59,6 +61,8 @@
|
||||
await goto('/auth');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
await goto(`/error`);
|
||||
}
|
||||
|
||||
await tick();
|
||||
@ -69,8 +73,9 @@
|
||||
<svelte:head>
|
||||
<title>Ollama</title>
|
||||
</svelte:head>
|
||||
<Toaster />
|
||||
|
||||
{#if $config !== undefined && loaded}
|
||||
{#if loaded}
|
||||
<slot />
|
||||
{/if}
|
||||
|
||||
<Toaster />
|
||||
|
44
src/routes/error/+page.svelte
Normal file
44
src/routes/error/+page.svelte
Normal file
@ -0,0 +1,44 @@
|
||||
<script>
|
||||
import { goto } from '$app/navigation';
|
||||
import { config } from '$lib/stores';
|
||||
import { onMount } from 'svelte';
|
||||
|
||||
let loaded = false;
|
||||
|
||||
onMount(async () => {
|
||||
if ($config) {
|
||||
await goto('/');
|
||||
}
|
||||
|
||||
loaded = true;
|
||||
});
|
||||
</script>
|
||||
|
||||
{#if loaded}
|
||||
<div class="absolute w-full h-full flex z-50">
|
||||
<div class="absolute rounded-xl w-full h-full backdrop-blur bg-gray-900/5 flex justify-center">
|
||||
<div class="m-auto pb-44 flex flex-col justify-center">
|
||||
<div class="max-w-md">
|
||||
<div class="text-center text-2xl font-medium z-50">Ollama WebUI Backend Required</div>
|
||||
|
||||
<div class=" mt-4 text-center text-sm w-full">
|
||||
Oops! It seems like your Ollama WebUI needs a little attention. <br
|
||||
class=" hidden sm:flex"
|
||||
/>
|
||||
describe troubleshooting/installation, help @ discord
|
||||
|
||||
<!-- TODO: update text -->
|
||||
</div>
|
||||
|
||||
<div class=" mt-6 mx-auto relative group w-fit">
|
||||
<button
|
||||
class="relative z-20 flex px-5 py-2 rounded-full bg-gray-100 hover:bg-gray-200 transition font-medium text-sm"
|
||||
>
|
||||
Check Again
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
Loading…
Reference in New Issue
Block a user