|
@@ -1,87 +1,99 @@
|
|
<!DOCTYPE html>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<html lang="en">
|
|
-
|
|
|
|
-<head>
|
|
|
|
- <meta charset="utf-8" />
|
|
|
|
- <link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
|
|
|
- <link rel="manifest" href="%sveltekit.assets%/manifest.json" crossorigin="use-credentials" />
|
|
|
|
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
|
|
|
- <meta name="robots" content="noindex,nofollow" />
|
|
|
|
- <link rel="search" type="application/opensearchdescription+xml" title="Open WebUI" href="/opensearch.xml" />
|
|
|
|
-
|
|
|
|
- <script>
|
|
|
|
- function resizeIframe(obj) {
|
|
|
|
- obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px';
|
|
|
|
- }
|
|
|
|
- </script>
|
|
|
|
-
|
|
|
|
- <script>
|
|
|
|
- // On page load or when changing themes, best to add inline in `head` to avoid FOUC
|
|
|
|
- (() => {
|
|
|
|
- if (localStorage?.theme && localStorage?.theme.includes('oled')) {
|
|
|
|
- document.documentElement.style.setProperty('--color-gray-800', '#101010');
|
|
|
|
- document.documentElement.style.setProperty('--color-gray-850', '#050505');
|
|
|
|
- document.documentElement.style.setProperty('--color-gray-900', '#000000');
|
|
|
|
- document.documentElement.style.setProperty('--color-gray-950', '#000000');
|
|
|
|
- document.documentElement.classList.add('dark');
|
|
|
|
- } else if (
|
|
|
|
- localStorage.theme === 'light' ||
|
|
|
|
- (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: light)').matches)
|
|
|
|
- ) {
|
|
|
|
- document.documentElement.classList.add('light');
|
|
|
|
- } else if (localStorage.theme && localStorage.theme !== 'system') {
|
|
|
|
- localStorage.theme.split(' ').forEach((e) => {
|
|
|
|
- document.documentElement.classList.add(e);
|
|
|
|
- });
|
|
|
|
- } else if (localStorage.theme && localStorage.theme === 'system') {
|
|
|
|
- systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
|
- document.documentElement.classList.add(systemTheme ? 'dark' : 'light');
|
|
|
|
- } else if (localStorage.theme && localStorage.theme === 'her') {
|
|
|
|
- document.documentElement.classList.add('dark');
|
|
|
|
- document.documentElement.classList.add('her');
|
|
|
|
- } else {
|
|
|
|
- document.documentElement.classList.add('dark');
|
|
|
|
|
|
+ <head>
|
|
|
|
+ <meta charset="utf-8" />
|
|
|
|
+ <link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
|
|
|
+ <link rel="manifest" href="%sveltekit.assets%/manifest.json" crossorigin="use-credentials" />
|
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
|
|
|
+ <meta name="robots" content="noindex,nofollow" />
|
|
|
|
+ <link
|
|
|
|
+ rel="search"
|
|
|
|
+ type="application/opensearchdescription+xml"
|
|
|
|
+ title="Open WebUI"
|
|
|
|
+ href="/opensearch.xml"
|
|
|
|
+ />
|
|
|
|
+
|
|
|
|
+ <script>
|
|
|
|
+ function resizeIframe(obj) {
|
|
|
|
+ obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px';
|
|
}
|
|
}
|
|
|
|
+ </script>
|
|
|
|
+
|
|
|
|
+ <script>
|
|
|
|
+ // On page load or when changing themes, best to add inline in `head` to avoid FOUC
|
|
|
|
+ (() => {
|
|
|
|
+ if (localStorage?.theme && localStorage?.theme.includes('oled')) {
|
|
|
|
+ document.documentElement.style.setProperty('--color-gray-800', '#101010');
|
|
|
|
+ document.documentElement.style.setProperty('--color-gray-850', '#050505');
|
|
|
|
+ document.documentElement.style.setProperty('--color-gray-900', '#000000');
|
|
|
|
+ document.documentElement.style.setProperty('--color-gray-950', '#000000');
|
|
|
|
+ document.documentElement.classList.add('dark');
|
|
|
|
+ } else if (
|
|
|
|
+ localStorage.theme === 'light' ||
|
|
|
|
+ (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: light)').matches)
|
|
|
|
+ ) {
|
|
|
|
+ document.documentElement.classList.add('light');
|
|
|
|
+ } else if (localStorage.theme && localStorage.theme !== 'system') {
|
|
|
|
+ localStorage.theme.split(' ').forEach((e) => {
|
|
|
|
+ document.documentElement.classList.add(e);
|
|
|
|
+ });
|
|
|
|
+ } else if (localStorage.theme && localStorage.theme === 'system') {
|
|
|
|
+ systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
|
+ document.documentElement.classList.add(systemTheme ? 'dark' : 'light');
|
|
|
|
+ } else if (localStorage.theme && localStorage.theme === 'her') {
|
|
|
|
+ document.documentElement.classList.add('dark');
|
|
|
|
+ document.documentElement.classList.add('her');
|
|
|
|
+ } else {
|
|
|
|
+ document.documentElement.classList.add('dark');
|
|
|
|
+ }
|
|
|
|
|
|
- window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
|
|
|
|
- if (localStorage.theme === 'system') {
|
|
|
|
- if (e.matches) {
|
|
|
|
- document.documentElement.classList.add('dark');
|
|
|
|
- document.documentElement.classList.remove('light');
|
|
|
|
- } else {
|
|
|
|
- document.documentElement.classList.add('light');
|
|
|
|
- document.documentElement.classList.remove('dark');
|
|
|
|
|
|
+ window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
|
|
|
|
+ if (localStorage.theme === 'system') {
|
|
|
|
+ if (e.matches) {
|
|
|
|
+ document.documentElement.classList.add('dark');
|
|
|
|
+ document.documentElement.classList.remove('light');
|
|
|
|
+ } else {
|
|
|
|
+ document.documentElement.classList.add('light');
|
|
|
|
+ document.documentElement.classList.remove('dark');
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- });
|
|
|
|
- })();
|
|
|
|
- </script>
|
|
|
|
|
|
+ });
|
|
|
|
+ })();
|
|
|
|
+ </script>
|
|
|
|
|
|
- <title>Open WebUI</title>
|
|
|
|
|
|
+ <title>Open WebUI</title>
|
|
|
|
|
|
- %sveltekit.head%
|
|
|
|
-</head>
|
|
|
|
|
|
+ %sveltekit.head%
|
|
|
|
+ </head>
|
|
|
|
|
|
-<body data-sveltekit-preload-data="hover">
|
|
|
|
- <div style="display: contents">%sveltekit.body%</div>
|
|
|
|
|
|
+ <body data-sveltekit-preload-data="hover">
|
|
|
|
+ <div style="display: contents">%sveltekit.body%</div>
|
|
|
|
|
|
- <div id="splash-screen" style="position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 100%">
|
|
|
|
- <style type="text/css" nonce="">
|
|
|
|
- html {
|
|
|
|
- overflow-y: scroll !important;
|
|
|
|
- }
|
|
|
|
- </style>
|
|
|
|
|
|
+ <div
|
|
|
|
+ id="splash-screen"
|
|
|
|
+ style="position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 100%"
|
|
|
|
+ >
|
|
|
|
+ <style type="text/css" nonce="">
|
|
|
|
+ html {
|
|
|
|
+ overflow-y: scroll !important;
|
|
|
|
+ }
|
|
|
|
+ </style>
|
|
|
|
|
|
- <img id="logo" style="
|
|
|
|
|
|
+ <img
|
|
|
|
+ id="logo"
|
|
|
|
+ style="
|
|
position: absolute;
|
|
position: absolute;
|
|
width: auto;
|
|
width: auto;
|
|
height: 6rem;
|
|
height: 6rem;
|
|
top: 44%;
|
|
top: 44%;
|
|
left: 50%;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
transform: translateX(-50%);
|
|
- " src="/static/splash.png" />
|
|
|
|
|
|
+ "
|
|
|
|
+ src="/static/splash.png"
|
|
|
|
+ />
|
|
|
|
|
|
- <div style="
|
|
|
|
|
|
+ <div
|
|
|
|
+ style="
|
|
position: absolute;
|
|
position: absolute;
|
|
top: 33%;
|
|
top: 33%;
|
|
left: 50%;
|
|
left: 50%;
|
|
@@ -92,35 +104,47 @@
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
align-items: center;
|
|
- ">
|
|
|
|
- <img id="logo-her" style="width: auto; height: 13rem" src="/static/splash.png" class="animate-pulse-fast" />
|
|
|
|
-
|
|
|
|
- <div style="position: relative; width: 24rem; margin-top: 0.5rem">
|
|
|
|
- <div id="progress-background" style="
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ id="logo-her"
|
|
|
|
+ style="width: auto; height: 13rem"
|
|
|
|
+ src="/static/splash.png"
|
|
|
|
+ class="animate-pulse-fast"
|
|
|
|
+ />
|
|
|
|
+
|
|
|
|
+ <div style="position: relative; width: 24rem; margin-top: 0.5rem">
|
|
|
|
+ <div
|
|
|
|
+ id="progress-background"
|
|
|
|
+ style="
|
|
position: absolute;
|
|
position: absolute;
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 0.75rem;
|
|
height: 0.75rem;
|
|
|
|
|
|
border-radius: 9999px;
|
|
border-radius: 9999px;
|
|
background-color: #fafafa9a;
|
|
background-color: #fafafa9a;
|
|
- "></div>
|
|
|
|
|
|
+ "
|
|
|
|
+ ></div>
|
|
|
|
|
|
- <div id="progress-bar" style="
|
|
|
|
|
|
+ <div
|
|
|
|
+ id="progress-bar"
|
|
|
|
+ style="
|
|
position: absolute;
|
|
position: absolute;
|
|
width: 0%;
|
|
width: 0%;
|
|
height: 0.75rem;
|
|
height: 0.75rem;
|
|
border-radius: 9999px;
|
|
border-radius: 9999px;
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
- " class="bg-white"></div>
|
|
|
|
|
|
+ "
|
|
|
|
+ class="bg-white"
|
|
|
|
+ ></div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
|
|
- <!-- <span style="position: absolute; bottom: 32px; left: 50%; margin: -36px 0 0 -36px">
|
|
|
|
|
|
+ <!-- <span style="position: absolute; bottom: 32px; left: 50%; margin: -36px 0 0 -36px">
|
|
Footer content
|
|
Footer content
|
|
</span> -->
|
|
</span> -->
|
|
- </div>
|
|
|
|
-</body>
|
|
|
|
-
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </body>
|
|
</html>
|
|
</html>
|
|
|
|
|
|
<style type="text/css" nonce="">
|
|
<style type="text/css" nonce="">
|
|
@@ -192,4 +216,4 @@
|
|
.animate-pulse-fast {
|
|
.animate-pulse-fast {
|
|
animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
}
|
|
}
|
|
-</style>
|
|
|
|
|
|
+</style>
|