Inline head script sets data-theme from localStorage before the CSS loads, so returning users on dark/yomirc no longer flash the light default on load or reload. The full theme logic still runs later in src/ui/theme.ts.
26 lines
1.6 KiB
HTML
26 lines
1.6 KiB
HTML
<!doctype html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover, interactive-widget=resizes-content" />
|
|
<!-- Apply the saved theme before first paint so there's no flash of the light
|
|
default on load/reload. Full theme logic runs later in src/ui/theme.ts. -->
|
|
<script>try{var t=localStorage.getItem('tchatou-theme');if(t)document.documentElement.dataset.theme=t}catch(e){}</script>
|
|
<meta name="theme-color" content="#ffffff" />
|
|
<link rel="manifest" href="/app/manifest.webmanifest" />
|
|
<link rel="icon" href="/app/orbit-icon.svg" type="image/svg+xml" />
|
|
<link rel="apple-touch-icon" href="/app/apple-touch-icon.png" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-title" content="Tchatou" />
|
|
<!-- Pre-JS placeholder only; the real title is set at runtime from
|
|
config.branding.name in src/App.tsx. -->
|
|
<title>Tchatou</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600;1,9..144,700&family=Geist:wght@300;400;500;600;700;800&family=Geist+Mono:wght@400;500;600&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|