open-webui/src/app.html

232 lines
5.3 KiB
HTML
Raw Normal View History

2024-08-13 10:12:35 +00:00
<!doctype html>
2023-10-08 22:38:42 +00:00
<html lang="en">
2024-07-10 21:43:59 +00:00
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<link rel="apple-touch-icon" href="%sveltekit.assets%/favicon.png" />
2024-07-10 21:43:59 +00:00
<link rel="manifest" href="%sveltekit.assets%/manifest.json" crossorigin="use-credentials" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"
/>
<meta name="theme-color" content="#171717" />
2024-07-10 21:43:59 +00:00
<meta name="robots" content="noindex,nofollow" />
2024-08-25 21:52:36 +00:00
<meta name="description" content="Open WebUI" />
2024-07-10 21:43:59 +00:00
<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';
2024-06-19 23:51:29 +00:00
}
2024-07-10 21:43:59 +00:00
</script>
<script>
// On page load or when changing themes, best to add inline in `head` to avoid FOUC
(() => {
const metaThemeColorTag = document.querySelector('meta[name="theme-color"]');
const prefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
2024-08-28 10:43:43 +00:00
if (!localStorage?.theme) {
localStorage.theme = 'system';
}
if (localStorage.theme === 'system') {
document.documentElement.classList.add(prefersDarkTheme ? 'dark' : 'light');
metaThemeColorTag.setAttribute('content', prefersDarkTheme ? '#171717' : '#ffffff');
} else if (localStorage.theme === 'oled-dark') {
2024-07-10 21:43:59 +00:00
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');
metaThemeColorTag.setAttribute('content', '#000000');
} else if (localStorage.theme === 'light') {
2024-07-10 21:43:59 +00:00
document.documentElement.classList.add('light');
metaThemeColorTag.setAttribute('content', '#ffffff');
} else if (localStorage.theme === 'her') {
2024-07-10 21:43:59 +00:00
document.documentElement.classList.add('dark');
document.documentElement.classList.add('her');
metaThemeColorTag.setAttribute('content', '#983724');
2024-07-10 21:43:59 +00:00
} else {
document.documentElement.classList.add('dark');
metaThemeColorTag.setAttribute('content', '#171717');
2024-07-10 21:43:59 +00:00
}
2024-07-10 21:43:59 +00:00
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');
metaThemeColorTag.setAttribute('content', '#171717');
2024-07-10 21:43:59 +00:00
} else {
document.documentElement.classList.add('light');
document.documentElement.classList.remove('dark');
metaThemeColorTag.setAttribute('content', '#ffffff');
2024-07-10 21:43:59 +00:00
}
}
2024-07-10 21:43:59 +00:00
});
})();
</script>
2024-07-10 21:43:00 +00:00
2024-07-10 21:43:59 +00:00
<title>Open WebUI</title>
2024-07-10 21:43:00 +00:00
2024-07-10 21:43:59 +00:00
%sveltekit.head%
</head>
2024-07-10 21:43:00 +00:00
2024-07-10 21:43:59 +00:00
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
2024-04-27 22:59:20 +00:00
2024-07-10 21:43:59 +00:00
<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>
2024-07-10 21:43:00 +00:00
2024-07-10 21:43:59 +00:00
<img
id="logo"
style="
2024-04-27 22:59:20 +00:00
position: absolute;
2024-07-09 05:20:00 +00:00
width: auto;
2024-04-27 22:59:20 +00:00
height: 6rem;
2024-07-09 07:26:02 +00:00
top: 44%;
2024-04-27 22:59:20 +00:00
left: 50%;
2024-07-10 21:43:00 +00:00
transform: translateX(-50%);
2024-07-10 21:43:59 +00:00
"
src="/static/splash.png"
/>
2024-04-27 22:59:20 +00:00
2024-07-10 21:43:59 +00:00
<div
style="
2024-06-12 07:05:20 +00:00
position: absolute;
2024-06-12 10:13:59 +00:00
top: 33%;
2024-06-12 07:05:20 +00:00
left: 50%;
width: 24rem;
2024-07-10 21:43:00 +00:00
transform: translateX(-50%);
2024-06-12 07:05:20 +00:00
2024-06-12 10:13:59 +00:00
display: flex;
flex-direction: column;
align-items: center;
2024-07-10 21:43:59 +00:00
"
>
<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="
2024-06-12 10:13:59 +00:00
position: absolute;
width: 100%;
height: 0.75rem;
border-radius: 9999px;
background-color: #fafafa9a;
2024-07-10 21:43:59 +00:00
"
></div>
2024-06-12 10:13:59 +00:00
2024-07-10 21:43:59 +00:00
<div
id="progress-bar"
style="
2024-06-12 10:13:59 +00:00
position: absolute;
2024-06-12 18:13:24 +00:00
width: 0%;
2024-06-12 10:13:59 +00:00
height: 0.75rem;
border-radius: 9999px;
background-color: #fff;
2024-07-10 21:43:59 +00:00
"
class="bg-white"
></div>
</div>
2024-06-12 10:13:59 +00:00
</div>
2024-06-12 07:05:20 +00:00
2024-07-10 21:43:59 +00:00
<!-- <span style="position: absolute; bottom: 32px; left: 50%; margin: -36px 0 0 -36px">
2024-04-27 22:59:20 +00:00
Footer content
</span> -->
2024-07-10 21:43:59 +00:00
</div>
</body>
2023-10-08 22:38:42 +00:00
</html>
2024-06-07 23:57:02 +00:00
<style type="text/css" nonce="">
2024-06-07 23:58:33 +00:00
html {
overflow-y: hidden !important;
}
2024-06-07 23:57:02 +00:00
#splash-screen {
background: #fff;
}
2024-07-10 21:43:00 +00:00
2024-06-07 23:57:02 +00:00
html.dark #splash-screen {
background: #000;
}
html.dark #splash-screen img {
filter: invert(1);
}
2024-06-12 07:05:20 +00:00
html.her #splash-screen {
background: #983724;
}
#logo-her {
display: none;
}
#progress-background {
display: none;
}
#progress-bar {
display: none;
}
html.her #logo {
display: none;
}
html.her #logo-her {
display: block;
filter: invert(1);
}
html.her #progress-background {
display: block;
}
html.her #progress-bar {
display: block;
}
2024-06-12 07:13:35 +00:00
2024-06-12 10:13:59 +00:00
@media (max-width: 24rem) {
html.her #progress-background {
display: none;
}
html.her #progress-bar {
display: none;
}
}
2024-06-12 07:13:35 +00:00
@keyframes pulse {
50% {
opacity: 0.65;
}
}
2024-07-10 21:43:00 +00:00
2024-06-12 07:13:35 +00:00
.animate-pulse-fast {
animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
2024-07-10 21:43:59 +00:00
</style>