ai-agent / src /frontend /index.html
katospiegel's picture
Deploy develop: FastAPI+React frontend, multi-stage Docker (ai_agent serve)
07c2476 verified
Raw
History Blame Contribute Delete
1.96 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<!-- Imaging Plaza brand mark. The remote favicon is referenced first so
it loads from the user's network; if a local high-res copy is later
dropped in `public/imaging-plaza-mark.svg|.png`, replace the href. -->
<link rel="icon" type="image/x-icon" href="https://imaging-plaza.epfl.ch/favicon.ico" />
<link rel="alternate icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='20' fill='%2300A991'/%3E%3Ctext x='50' y='66' font-family='system-ui' font-size='44' font-weight='700' text-anchor='middle' fill='white'%3EIP%3C/text%3E%3C/svg%3E" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="color-scheme" content="dark light" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap"
/>
<script>
// Apply the persisted theme before React mounts so the first paint is
// already correct (no flash of wrong theme).
(function () {
try {
var stored = localStorage.getItem("theme");
var prefersDark = window.matchMedia(
"(prefers-color-scheme: dark)"
).matches;
var theme = stored || (prefersDark ? "dark" : "light");
document.documentElement.dataset.theme = theme;
} catch (e) {
document.documentElement.dataset.theme = "dark";
}
})();
</script>
<title>ai_plaza · imaging assistant</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>