aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/nms-nightmode.js
diff options
context:
space:
mode:
authorHåkon Solbjørg <hakon@solbj.org>2023-03-22 23:21:21 +0100
committerHåkon Solbjørg <hakon@solbj.org>2023-03-22 23:21:32 +0100
commit2740d1324ab989f675bd6b534d012c925225af91 (patch)
treef6c643c8b44a21bdb76df75a510911aa25e9c147 /web/js/nms-nightmode.js
parente8efa85387af092adfca0f391c1c8e9aefab01af (diff)
feat(ui): Use Prefer Color Scheme to decide to use night modefeat/night-mode-follow-system
Uses the proposal here: https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-color-scheme Seems to be decently supported: https://caniuse.com/?search=prefers-color-scheme
Diffstat (limited to 'web/js/nms-nightmode.js')
-rw-r--r--web/js/nms-nightmode.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/web/js/nms-nightmode.js b/web/js/nms-nightmode.js
new file mode 100644
index 0000000..310ec01
--- /dev/null
+++ b/web/js/nms-nightmode.js
@@ -0,0 +1,18 @@
+"use strict";
+
+var nmsNightMode = nmsNightMode || {
+
+}
+
+var prefersColorSchemeMediaQuery = "(prefers-color-scheme: dark)";
+
+nmsNightMode.toggle = function() {
+ var active = window.matchMedia(prefersColorSchemeMediaQuery).matches;
+ nms.nightMode = active;
+}
+
+nmsNightMode.init = function() {
+ var preferColorScheme = window.matchMedia(prefersColorSchemeMediaQuery);
+ preferColorScheme.addListener(() => nmsNightMode.toggle());
+ nmsNightMode.toggle(); // trigger initial
+}