aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/root.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/app/root.tsx')
-rw-r--r--src/frontend/app/root.tsx12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/frontend/app/root.tsx b/src/frontend/app/root.tsx
index 4815d2f..9bc69e4 100644
--- a/src/frontend/app/root.tsx
+++ b/src/frontend/app/root.tsx
@@ -76,6 +76,18 @@ export function Layout({ children }: { children: React.ReactNode }) {
<title>Busurbano</title>
<Meta />
+ {/* Set theme early to avoid flash of wrong theme (especially skeletons) */}
+ <script
+ dangerouslySetInnerHTML={{
+ __html: `(() => { try {
+ var saved = localStorage.getItem('theme');
+ var system = (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) ? 'dark' : 'light';
+ var resolved = (saved === 'light' || saved === 'dark') ? saved : system;
+ document.documentElement.setAttribute('data-theme', resolved);
+ document.documentElement.style.colorScheme = resolved;
+ } catch (e) {} })();`,
+ }}
+ />
<Links />
</head>
<body>