@@ -135,25 +135,15 @@ static unsigned long gLastSyncMillis = 0;
135135static const char VIEWER_DASHBOARD_HTML[] PROGMEM = R"HTML(
136136<!DOCTYPE html>
137137<html lang="en">
138- <body data-theme="light">
139- <header>
140- <div class="title-row">
141- <div>
142- <h1 id="viewerName">Tank Alarm Viewer</h1>
143- <div class="meta">
144- <span>Viewer UID: <code id="viewerUid">--</code></span>
145- <span>Source: <strong id="sourceServer">--</strong> (<code id="sourceUid">--</code>)</span>
146- <span>Summary Generated: <span id="summaryGenerated">--</span></span>
147- <span>Last Fetch: <span id="lastFetch">--</span></span>
148- <span>Next Scheduled Fetch: <span id="nextFetch">--</span></span>
149- <span>Server cadence: <span id="refreshHint">6h @ 6 AM</span></span>
150- </div>
151- </div>
152- <div class="header-actions">
153- <button class="icon-button" id="themeToggle" aria-label="Switch to dark mode">☽</button>
154- </div>
155- </div>
156- </header>
138+ <head>
139+ <meta charset="UTF-8">
140+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
141+ <title>Tank Alarm Viewer</title>
142+ <style>
143+ :root {
144+ --bg: #f8fafc;
145+ --text: #0f172a;
146+ --header-bg: #ffffff;
157147 --meta-color: #475569;
158148 --card-bg: #ffffff;
159149 --filter-bg: #ffffff;
@@ -168,6 +158,7 @@ static const char VIEWER_DASHBOARD_HTML[] PROGMEM = R"HTML(
168158 --filter-bg: #1e293b;
169159 --table-border: rgba(255,255,255,0.08);
170160 }
161+ body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: var(--bg); color: var(--text); transition: background 0.3s, color 0.3s; }
171162 header { padding: 20px 28px; background: var(--header-bg); box-shadow: 0 2px 10px rgba(0,0,0,0.15); }
172163 header h1 { margin: 0; font-size: 1.7rem; }
173164 header .meta { margin-top: 12px; font-size: 0.95rem; color: var(--meta-color); display: flex; gap: 16px; flex-wrap: wrap; }
@@ -198,14 +189,21 @@ static const char VIEWER_DASHBOARD_HTML[] PROGMEM = R"HTML(
198189</head>
199190<body data-theme="light">
200191 <header>
201- <h1 id="viewerName">Tank Alarm Viewer</h1>
202- <div class="meta">
203- <span>Viewer UID: <code id="viewerUid">--</code></span>
204- <span>Source: <strong id="sourceServer">--</strong> (<code id="sourceUid">--</code>)</span>
205- <span>Summary Generated: <span id="summaryGenerated">--</span></span>
206- <span>Last Fetch: <span id="lastFetch">--</span></span>
207- <span>Next Scheduled Fetch: <span id="nextFetch">--</span></span>
208- <span>Server cadence: <span id="refreshHint">6h @ 6 AM</span></span>
192+ <div class="title-row">
193+ <div>
194+ <h1 id="viewerName">Tank Alarm Viewer</h1>
195+ <div class="meta">
196+ <span>Viewer UID: <code id="viewerUid">--</code></span>
197+ <span>Source: <strong id="sourceServer">--</strong> (<code id="sourceUid">--</code>)</span>
198+ <span>Summary Generated: <span id="summaryGenerated">--</span></span>
199+ <span>Last Fetch: <span id="lastFetch">--</span></span>
200+ <span>Next Scheduled Fetch: <span id="nextFetch">--</span></span>
201+ <span>Server cadence: <span id="refreshHint">6h @ 6 AM</span></span>
202+ </div>
203+ </div>
204+ <div class="header-actions">
205+ <button class="icon-button" id="themeToggle" aria-label="Switch to dark mode">☽</button>
206+ </div>
209207 </div>
210208 </header>
211209 <main>
0 commit comments