luci-theme-bootstrap: global darkmode graphs
authorMarko Mäkelä <[email protected]>
Sun, 29 Jun 2025 19:55:41 +0000 (22:55 +0300)
committerPaul Donald <[email protected]>
Mon, 30 Jun 2025 00:20:02 +0000 (02:20 +0200)
Instead of enumerating each SVG graph that the dark mode is applicable to,
apply --background-color-high to each SVG element that is a child of
<div style="…"> and --text-color-highest to each LINE inside such SVG.

This allows dark mode to work in all SVG widgets by default, in any
current or future LuCI component.

Signed-off-by: Marko Mäkelä <[email protected]>
themes/luci-theme-bootstrap/htdocs/luci-static/bootstrap/cascade.css

index 9e47e521e2c368e0a2c2198db66033e4d60dfa98..ecc5f250322b63307ddc0bdff5b41041e6566a8e 100644 (file)
@@ -2613,18 +2613,10 @@ div.cbi-value var.cbi-tooltip-container,
        max-width: none;
 }
 
-[data-darkmode="true"] [data-page="admin-status-channel_analysis"] #view> div > div > div > div > div[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-load"] #view > div > div > div[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-bandwidth"] #view > div > div > div > div[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-wireless"] #view > div > div > div > div[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-connections"] #view > div > div > div[style] {
+#view div[style] > svg {
        background-color: var(--background-color-high)!important;
 }
 
-[data-darkmode="true"] [data-page="admin-status-channel_analysis"] #view> div > div > div > div > div > svg > line[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-load"] #view > div > div > div > svg > line[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-bandwidth"] #view > div > div > div > div > svg > line[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-wireless"] #view > div > div > div > div > svg > line[style],
-[data-darkmode="true"] [data-page="admin-status-realtime-connections"] #view > div > div > div > svg > line[style] {
-       stroke: #fff!important;
+#view div[style] > svg line[style] {
+       stroke: var(--text-color-highest)!important;
 }