Files
automaker/apps/ui/index.html

102 lines
3.1 KiB
HTML

<!doctype html>
<html lang="en" suppressHydrationWarning>
<head>
<meta charset="UTF-8" />
<title>Automaker - Autonomous AI Development Studio</title>
<meta name="description" content="Build software autonomously with AI agents" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"
/>
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<!-- PWA -->
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#09090b" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="Automaker" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="apple-touch-icon" href="/logo_larger.png" />
<!-- Performance: Preload critical assets with fetchpriority for faster First Contentful Paint -->
<link rel="preload" href="/logo.png" as="image" fetchpriority="high" />
<link
rel="preload"
href="/automaker.svg"
as="image"
type="image/svg+xml"
fetchpriority="high"
/>
<!-- Critical inline styles: prevent white/wrong-color flash on mobile PWA cold start -->
<!-- These styles are applied before any external CSS loads, eliminating FOUC -->
<style>
html {
background-color: #09090b;
}
@media (prefers-color-scheme: light) {
html:not([class]) {
background-color: #fff;
}
}
html.light,
html.cream,
html.solarizedlight,
html.github,
html.paper,
html.rose,
html.mint,
html.lavender,
html.sand,
html.sky,
html.peach,
html.snow,
html.sepia,
html.gruvboxlight,
html.nordlight,
html.blossom,
html.ayu-light,
html.onelight,
html.bluloco,
html.feather {
background-color: #fff;
}
html,
body {
margin: 0;
overflow: hidden;
position: fixed;
width: 100%;
height: 100%;
}
#app {
height: 100vh;
height: 100dvh;
overflow: hidden;
}
</style>
<script>
// Prevent theme flash - apply stored theme before React hydrates
(function () {
try {
var stored = localStorage.getItem('automaker-storage');
if (stored) {
var data = JSON.parse(stored);
var theme = data.state?.theme;
if (theme && theme !== 'system' && theme !== 'light') {
document.documentElement.classList.add(theme);
} else if (
theme === 'system' &&
window.matchMedia('(prefers-color-scheme: dark)').matches
) {
document.documentElement.classList.add('dark');
}
}
} catch (e) {}
})();
</script>
</head>
<body class="antialiased">
<div id="app"></div>
<script type="module" src="/src/renderer.tsx"></script>
</body>
</html>