From 37d8eedd641bb04c086797010292bcb25240d56d Mon Sep 17 00:00:00 2001
From: Ariel Costas Guerrero <ariel@costas.dev>
Date: Thu, 6 Nov 2025 23:36:52 +0100
Subject: Refactor styles and add alert color variables; implement scroll
 management for timetable

---
 src/frontend/app/root.tsx | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'src/frontend/app/root.tsx')

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>
-- 
cgit v1.3

