| | <!doctype html> |
| | <html lang="en"> |
| | <head> |
| | <meta charset="utf-8" /> |
| | <link rel="icon" href="%sveltekit.assets%/favicon.png" /> |
| | <link rel="apple-touch-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, viewport-fit=cover" |
| | /> |
| | <meta name="theme-color" content="#171717" /> |
| | <meta name="robots" content="noindex,nofollow" /> |
| | <meta name="description" content="Open WebUI" /> |
| | <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> |
| | |
| | (() => { |
| | const metaThemeColorTag = document.querySelector('meta[name="theme-color"]'); |
| | const prefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches; |
| | |
| | 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') { |
| | 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') { |
| | document.documentElement.classList.add('light'); |
| | metaThemeColorTag.setAttribute('content', '#ffffff'); |
| | } else if (localStorage.theme === 'her') { |
| | document.documentElement.classList.add('dark'); |
| | document.documentElement.classList.add('her'); |
| | metaThemeColorTag.setAttribute('content', '#983724'); |
| | } else { |
| | document.documentElement.classList.add('dark'); |
| | metaThemeColorTag.setAttribute('content', '#171717'); |
| | } |
| | |
| | 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'); |
| | } else { |
| | document.documentElement.classList.add('light'); |
| | document.documentElement.classList.remove('dark'); |
| | metaThemeColorTag.setAttribute('content', '#ffffff'); |
| | } |
| | } |
| | }); |
| | })(); |
| | </script> |
| |
|
| | <title>Open WebUI</title> |
| |
|
| | %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; |
| | width: auto; |
| | height: 6rem; |
| | top: 44%; |
| | left: 50%; |
| | transform: translateX(-50%); |
| | " |
| | src="/static/splash.png" |
| | /> |
| |
|
| | <div |
| | style=" |
| | position: absolute; |
| | top: 33%; |
| | left: 50%; |
| | |
| | width: 24rem; |
| | transform: translateX(-50%); |
| | |
| | display: flex; |
| | flex-direction: column; |
| | 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=" |
| | position: absolute; |
| | width: 100%; |
| | height: 0.75rem; |
| | |
| | border-radius: 9999px; |
| | background-color: #fafafa9a; |
| | " |
| | ></div> |
| |
|
| | <div |
| | id="progress-bar" |
| | style=" |
| | position: absolute; |
| | width: 0%; |
| | height: 0.75rem; |
| | border-radius: 9999px; |
| | background-color: #fff; |
| | " |
| | class="bg-white" |
| | ></div> |
| | </div> |
| | </div> |
| |
|
| | |
| | |
| | |
| | </div> |
| | </body> |
| | </html> |
| |
|
| | <style type="text/css" nonce=""> |
| | html { |
| | overflow-y: hidden !important; |
| | } |
| | |
| | #splash-screen { |
| | background: #fff; |
| | } |
| | |
| | html.dark #splash-screen { |
| | background: #000; |
| | } |
| | |
| | html.dark #splash-screen img { |
| | filter: invert(1); |
| | } |
| | |
| | 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; |
| | } |
| | |
| | @media (max-width: 24rem) { |
| | html.her #progress-background { |
| | display: none; |
| | } |
| | |
| | html.her #progress-bar { |
| | display: none; |
| | } |
| | } |
| | |
| | @keyframes pulse { |
| | 50% { |
| | opacity: 0.65; |
| | } |
| | } |
| | |
| | .animate-pulse-fast { |
| | animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite; |
| | } |
| | </style> |
| |
|