fix: render native select option lists in the dark palette

This commit is contained in:
Uday S committed 2026-09-19 00:06:19 -04:00
1 parent 0d41b6be54
commit 59b2637fb7
3 files changed
+33

No files matched your search

+5
View File
@@ -1,5 +1,10 @@
# Changelog # Changelog
- Render native `<select>` option lists in the dark UI palette. The closed
controls were already skinned, but the browser-painted popups fell back to the
platform light palette, leaving near-white option text on a white surface in
the HUD layout, Scenes, CCTV camera, Radio filter and Draw colour menus.
- Distinguish PARTIAL vessel snapshots from STALE data in the layer panel, with - Distinguish PARTIAL vessel snapshots from STALE data in the layer panel, with
accepted-record counts and unchanged retention, freshness and outage safeguards. accepted-record counts and unchanged retention, freshness and outage safeguards.
+6
View File
@@ -1,5 +1,11 @@
# God's Eye View Current State # God's Eye View Current State
Native `<select>` controls declare a dark colour scheme and explicit option
colours, so the browser-painted option list matches the panel it drops out of.
The scheme is declared on the controls rather than on the document root, so
hand-tuned scrollbar and text-input skins are unchanged. Applies to the HUD
layout, Scenes, CCTV camera, Radio filter and Draw colour menus.
Vessel snapshot completeness is separate from freshness. A current snapshot with Vessel snapshot completeness is separate from freshness. A current snapshot with
rejected or duplicate records shows PARTIAL with accepted/received counts; stale rejected or duplicate records shows PARTIAL with accepted/received counts; stale
or unknown freshness and transport failures retain their warnings. Partial or unknown freshness and transport failures retain their warnings. Partial
+22
View File
@@ -14,6 +14,8 @@
--text-primary: #e8eaed; --text-primary: #e8eaed;
--text-secondary: rgba(232, 234, 237, 0.5); --text-secondary: rgba(232, 234, 237, 0.5);
--text-dim: rgba(232, 234, 237, 0.3); --text-dim: rgba(232, 234, 237, 0.3);
/* Opaque surface for browser-painted menus, which cannot use --glass-bg. */
--menu-bg: #12121c;
--font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace; --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
--panel-radius: 16px; --panel-radius: 16px;
@@ -69,6 +71,26 @@
outline-offset: 2px; outline-offset: 2px;
} }
/* Native `<select>` popups are painted by the browser, not by this sheet: the
closed control inherits its panel skin, but the option list falls back to the
platform's light palette unless the control declares a scheme. Declare it on
the controls rather than on :root so the app keeps its own hand-tuned
scrollbar and input skins, and set the option colors explicitly because the
popup surface is not themed on every platform. */
select {
color-scheme: dark;
}
select option,
select optgroup {
background-color: var(--menu-bg);
color: var(--text-primary);
}
select option:disabled {
color: var(--text-dim);
}
html, html,
body { body {
width: 100%; width: 100%;