about summary refs log tree commit diff stats
path: root/src/pages/options/init.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-08 20:30:50 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-08 20:30:50 +0300
commitb715e43553296d5380518e7d17be6b51eac0fdf7 (patch)
treea8b4e991ee3914d61fbe876372901fb1e551dc37 /src/pages/options/init.js
parentAdded the same regex as in the faq page in scribe #19 (diff)
downloadlibredirect-b715e43553296d5380518e7d17be6b51eac0fdf7.zip
Fixing colors and some bugs #27
Diffstat (limited to 'src/pages/options/init.js')
-rw-r--r--src/pages/options/init.js33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/pages/options/init.js b/src/pages/options/init.js
index 09b41fd8..deabd92f 100644
--- a/src/pages/options/init.js
+++ b/src/pages/options/init.js
@@ -1,3 +1,30 @@
-browser.storage.sync.get("theme", (result) => {
-    if (result.theme) document.body.classList.add(result.theme);
-})
\ No newline at end of file
+function changeTheme() {
+    browser.storage.sync.get("theme", (result) => {
+        console.log("Chaning Theme")
+        switch (result.theme) {
+            case "dark-theme":
+                document.body.classList.add("dark-theme");
+                document.body.classList.remove("light-theme");
+                break;
+            case "light-theme":
+                document.body.classList.add("light-theme");
+                document.body.classList.remove("dark-theme");
+                break;
+            default:
+                if (matchMedia("(prefers-color-scheme: light)").matches) {
+                    document.body.classList.add("light-theme");
+                    document.body.classList.remove("dark-theme");
+                } else {
+                    document.body.classList.add("dark-theme");
+                    document.body.classList.remove("light-theme");
+                }
+
+        }
+    })
+}
+
+changeTheme()
+
+browser.storage.onChanged.addListener(changeTheme)
+
+window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", changeTheme)