mirror of
https://github.com/netbirdio/netbird.git
synced 2026-09-27 17:19:08 +02:00
[client] Add light mode with system, light, and dark theme options (#7344)
* desktop UI light mode * Theme review fixes plus macOS window outline fix * Windows runtime chrome re-theming plus apply serialization * Windows chrome threading and theme event ordering fixes * Darken toggle and setting sidebar text * resolve theme appearance, apply on UI thread * read theme once per window * Re-assert Windows dark opt-in after SetTheme * split app-wide GTK theming from per-window chrome * Update Wails dependency and checksums * KDE tray icon panel fix * Five review fixes: theme ordering, cgo dedup, KDE panel resolution * Path guard hardening, toggle contrast, windows comment * non-vacuous escape tests * Default view edits * Polish settings nav, controls, borders, and disc * Profiles settings boarder, modals, and buttons * Additional edits based on feedback * Switch colors away from slight blue hue * Update missing lang * Fix vertical tab active view
This commit is contained in:
@@ -6,7 +6,25 @@
|
||||
<title>NetBird</title>
|
||||
<style>
|
||||
html, body { background: #181A1D; }
|
||||
html:not(.dark), html:not(.dark) body { background: #F3F3F3; }
|
||||
</style>
|
||||
<script>
|
||||
// Pre-paint theme guard: apply the last-known theme before first render
|
||||
// to avoid a flash of the wrong theme. ThemeContext keeps the mirror
|
||||
// fresh from the persisted preference and the Go-reported OS appearance.
|
||||
(function () {
|
||||
try {
|
||||
var pref = localStorage.getItem("nb-theme-pref") || "system";
|
||||
var dark;
|
||||
if (pref === "dark") dark = true;
|
||||
else if (pref === "light") dark = false;
|
||||
else dark = window.matchMedia("(prefers-color-scheme: dark)").matches;
|
||||
document.documentElement.classList.toggle("dark", dark);
|
||||
} catch (e) {
|
||||
/* keep the default dark class */
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
Reference in New Issue
Block a user