summaryrefslogtreecommitdiffstats
path: root/assets/js/themes.js
diff options
context:
space:
mode:
authorPerflyst <mail@perflyst.de>2020-11-12 17:06:38 +0100
committerGitHub <noreply@github.com>2020-11-12 17:06:38 +0100
commitbb7d8735cbad7916b354412f965d48d886d2365e (patch)
tree4def28c6e8de906565d73b0c337d47b6a416e35a /assets/js/themes.js
parent1fc9506442ae18c7c7f0a684a59714e679678a54 (diff)
parent557b0d76abe978cd8044a48f89313ef805954713 (diff)
downloadinvidious-bb7d8735cbad7916b354412f965d48d886d2365e.tar.gz
invidious-bb7d8735cbad7916b354412f965d48d886d2365e.tar.bz2
invidious-bb7d8735cbad7916b354412f965d48d886d2365e.zip
Merge branch 'master' into patch-1
Diffstat (limited to 'assets/js/themes.js')
-rw-r--r--assets/js/themes.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/assets/js/themes.js b/assets/js/themes.js
index 90a05c36..c600073d 100644
--- a/assets/js/themes.js
+++ b/assets/js/themes.js
@@ -28,6 +28,27 @@ window.addEventListener('load', function () {
update_mode(window.localStorage.dark_mode);
});
+
+var darkScheme = window.matchMedia('(prefers-color-scheme: dark)');
+var lightScheme = window.matchMedia('(prefers-color-scheme: light)');
+
+darkScheme.addListener(scheme_switch);
+lightScheme.addListener(scheme_switch);
+
+function scheme_switch (e) {
+ // ignore this method if we have a preference set
+ if (localStorage.getItem('dark_mode')) {
+ return;
+ }
+ if (e.matches) {
+ if (e.media.includes("dark")) {
+ set_mode(true);
+ } else if (e.media.includes("light")) {
+ set_mode(false);
+ }
+ }
+}
+
function set_mode (bool) {
document.getElementById('dark_theme').media = !bool ? 'none' : '';
document.getElementById('light_theme').media = bool ? 'none' : '';