diff options
| author | Perflyst <mail@perflyst.de> | 2020-11-12 17:06:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-12 17:06:38 +0100 |
| commit | bb7d8735cbad7916b354412f965d48d886d2365e (patch) | |
| tree | 4def28c6e8de906565d73b0c337d47b6a416e35a /assets/js/themes.js | |
| parent | 1fc9506442ae18c7c7f0a684a59714e679678a54 (diff) | |
| parent | 557b0d76abe978cd8044a48f89313ef805954713 (diff) | |
| download | invidious-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.js | 21 |
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' : ''; |
