This commit is contained in:
Timothy J. Baek 2024-07-10 14:43:00 -07:00
parent fae7db89e6
commit 37ff651723

View File

@ -1,149 +1,126 @@
<!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> <head>
function resizeIframe(obj) { <meta charset="utf-8" />
obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px'; <link rel="icon" href="%sveltekit.assets%/favicon.png" />
} <link rel="manifest" href="%sveltekit.assets%/manifest.json" crossorigin="use-credentials" />
</script> <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> <script>
// On page load or when changing themes, best to add inline in `head` to avoid FOUC function resizeIframe(obj) {
(() => { obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px';
if (localStorage?.theme && localStorage?.theme.includes('oled')) { }
document.documentElement.style.setProperty('--color-gray-800', '#101010'); </script>
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) => { <script>
if (localStorage.theme === 'system') { // On page load or when changing themes, best to add inline in `head` to avoid FOUC
if (e.matches) { (() => {
document.documentElement.classList.add('dark'); if (localStorage?.theme && localStorage?.theme.includes('oled')) {
document.documentElement.classList.remove('light'); document.documentElement.style.setProperty('--color-gray-800', '#101010');
} else { document.documentElement.style.setProperty('--color-gray-850', '#050505');
document.documentElement.classList.add('light'); document.documentElement.style.setProperty('--color-gray-900', '#000000');
document.documentElement.classList.remove('dark'); 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') {
</script> 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');
}
<title>Open WebUI</title> window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
if (localStorage.theme === 'system') {
%sveltekit.head% if (e.matches) {
</head> document.documentElement.classList.add('dark');
<body data-sveltekit-preload-data="hover"> document.documentElement.classList.remove('light');
<div style="display: contents">%sveltekit.body%</div> } else {
document.documentElement.classList.add('light');
<div document.documentElement.classList.remove('dark');
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> });
})();
</script>
<img <title>Open WebUI</title>
id="logo"
style=" %sveltekit.head%
</head>
<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>
<img id="logo" style="
position: absolute; position: absolute;
width: auto; width: auto;
height: 6rem; height: 6rem;
top: 44%; top: 44%;
left: 50%; left: 50%;
margin-left: -3rem; transform: translateX(-50%);
" " src="/static/splash.png" />
src="/static/splash.png"
/>
<div <div style="
style="
position: absolute; position: absolute;
top: 33%; top: 33%;
left: 50%; left: 50%;
width: 24rem; width: 24rem;
margin-left: -12rem; transform: translateX(-50%);
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" />
<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 style="position: relative; width: 24rem; margin-top: 0.5rem">
<div <div id="progress-background" style="
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 <div id="progress-bar" style="
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> </div>
</body> </body>
</html> </html>
<style type="text/css" nonce=""> <style type="text/css" nonce="">
@ -154,6 +131,7 @@
#splash-screen { #splash-screen {
background: #fff; background: #fff;
} }
html.dark #splash-screen { html.dark #splash-screen {
background: #000; background: #000;
} }
@ -210,7 +188,8 @@
opacity: 0.65; opacity: 0.65;
} }
} }
.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>