CoolFace
Apppublic

beea/open-webui

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.html232 linesDownload Raw Back to src
1<!doctype html>2<html lang="en">3	<head>4		<meta charset="utf-8" />5		<link rel="icon" href="%sveltekit.assets%/favicon.png" />6		<link rel="apple-touch-icon" href="%sveltekit.assets%/favicon.png" />7		<link rel="manifest" href="%sveltekit.assets%/manifest.json" crossorigin="use-credentials" />8		<meta9			name="viewport"10			content="width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"11		/>12		<meta name="theme-color" content="#171717" />13		<meta name="robots" content="noindex,nofollow" />14		<meta name="description" content="Open WebUI" />15		<link16			rel="search"17			type="application/opensearchdescription+xml"18			title="Open WebUI"19			href="/opensearch.xml"20		/>21 22		<script>23			function resizeIframe(obj) {24				obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px';25			}26		</script>27 28		<script>29			// On page load or when changing themes, best to add inline in `head` to avoid FOUC30			(() => {31				const metaThemeColorTag = document.querySelector('meta[name="theme-color"]');32				const prefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;33 34				if (!localStorage?.theme) {35					localStorage.theme = 'system';36				}37 38				if (localStorage.theme === 'system') {39					document.documentElement.classList.add(prefersDarkTheme ? 'dark' : 'light');40					metaThemeColorTag.setAttribute('content', prefersDarkTheme ? '#171717' : '#ffffff');41				} else if (localStorage.theme === 'oled-dark') {42					document.documentElement.style.setProperty('--color-gray-800', '#101010');43					document.documentElement.style.setProperty('--color-gray-850', '#050505');44					document.documentElement.style.setProperty('--color-gray-900', '#000000');45					document.documentElement.style.setProperty('--color-gray-950', '#000000');46					document.documentElement.classList.add('dark');47					metaThemeColorTag.setAttribute('content', '#000000');48				} else if (localStorage.theme === 'light') {49					document.documentElement.classList.add('light');50					metaThemeColorTag.setAttribute('content', '#ffffff');51				} else if (localStorage.theme === 'her') {52					document.documentElement.classList.add('dark');53					document.documentElement.classList.add('her');54					metaThemeColorTag.setAttribute('content', '#983724');55				} else {56					document.documentElement.classList.add('dark');57					metaThemeColorTag.setAttribute('content', '#171717');58				}59 60				window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {61					if (localStorage.theme === 'system') {62						if (e.matches) {63							document.documentElement.classList.add('dark');64							document.documentElement.classList.remove('light');65							metaThemeColorTag.setAttribute('content', '#171717');66						} else {67							document.documentElement.classList.add('light');68							document.documentElement.classList.remove('dark');69							metaThemeColorTag.setAttribute('content', '#ffffff');70						}71					}72				});73			})();74		</script>75 76		<title>Open WebUI</title>77 78		%sveltekit.head%79	</head>80 81	<body data-sveltekit-preload-data="hover">82		<div style="display: contents">%sveltekit.body%</div>83 84		<div85			id="splash-screen"86			style="position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 100%"87		>88			<style type="text/css" nonce="">89				html {90					overflow-y: scroll !important;91				}92			</style>93 94			<img95				id="logo"96				style="97					position: absolute;98					width: auto;99					height: 6rem;100					top: 44%;101					left: 50%;102					transform: translateX(-50%);103				"104				src="/static/splash.png"105			/>106 107			<div108				style="109					position: absolute;110					top: 33%;111					left: 50%;112 113					width: 24rem;114					transform: translateX(-50%);115 116					display: flex;117					flex-direction: column;118					align-items: center;119				"120			>121				<img122					id="logo-her"123					style="width: auto; height: 13rem"124					src="/static/splash.png"125					class="animate-pulse-fast"126				/>127 128				<div style="position: relative; width: 24rem; margin-top: 0.5rem">129					<div130						id="progress-background"131						style="132							position: absolute;133							width: 100%;134							height: 0.75rem;135 136							border-radius: 9999px;137							background-color: #fafafa9a;138						"139					></div>140 141					<div142						id="progress-bar"143						style="144							position: absolute;145							width: 0%;146							height: 0.75rem;147							border-radius: 9999px;148							background-color: #fff;149						"150						class="bg-white"151					></div>152				</div>153			</div>154 155			<!-- <span style="position: absolute; bottom: 32px; left: 50%; margin: -36px 0 0 -36px">156				Footer content157			</span> -->158		</div>159	</body>160</html>161 162<style type="text/css" nonce="">163	html {164		overflow-y: hidden !important;165	}166 167	#splash-screen {168		background: #fff;169	}170 171	html.dark #splash-screen {172		background: #000;173	}174 175	html.dark #splash-screen img {176		filter: invert(1);177	}178 179	html.her #splash-screen {180		background: #983724;181	}182 183	#logo-her {184		display: none;185	}186 187	#progress-background {188		display: none;189	}190 191	#progress-bar {192		display: none;193	}194 195	html.her #logo {196		display: none;197	}198 199	html.her #logo-her {200		display: block;201		filter: invert(1);202	}203 204	html.her #progress-background {205		display: block;206	}207 208	html.her #progress-bar {209		display: block;210	}211 212	@media (max-width: 24rem) {213		html.her #progress-background {214			display: none;215		}216 217		html.her #progress-bar {218			display: none;219		}220	}221 222	@keyframes pulse {223		50% {224			opacity: 0.65;225		}226	}227 228	.animate-pulse-fast {229		animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;230	}231</style>232