Implement theme switching via sun/moon toggle in nav bar. Dark
remains the default; light mode overrides surface, text, border,
accent, and status color tokens. Preference persists in localStorage
and falls back to prefers-color-scheme. An inline script in
index.html prevents flash of wrong theme on load.
Define a Tailwind v4 @custom-variant for light mode and update all
badge components (encounter method, rule, condition) to use
light:bg-{color}-100 / light:text-{color}-700 for readable contrast
on light surfaces.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
1.4 KiB
HTML
33 lines
1.4 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>ANT - Another Nuzlocke Tracker</title>
|
|
<meta name="description" content="Track your Nuzlocke challenge runs across all Pokemon games" />
|
|
<meta name="theme-color" content="#DC2626" />
|
|
<meta property="og:title" content="ANT - Another Nuzlocke Tracker" />
|
|
<meta property="og:description" content="Track your Nuzlocke challenge runs across all Pokemon games" />
|
|
<meta property="og:type" content="website" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
<link rel="manifest" href="/site.webmanifest" />
|
|
</head>
|
|
<body>
|
|
<script>
|
|
(function() {
|
|
var t = localStorage.getItem('ant-theme');
|
|
if (t === 'light' || (!t && window.matchMedia('(prefers-color-scheme: light)').matches)) {
|
|
document.documentElement.setAttribute('data-theme', 'light');
|
|
document.documentElement.style.colorScheme = 'light';
|
|
}
|
|
})();
|
|
</script>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|