aboutsummaryrefslogtreecommitdiffstats
path: root/static/js/color-scheme-switcher.js
diff options
context:
space:
mode:
authorverdant <i@glowisle.me>2026-05-24 21:05:00 +0800
committerverdant <i@glowisle.me>2026-05-24 21:05:00 +0800
commit803e32db12fd426597cffd1f8c7fb877401158f1 (patch)
tree061074340ac684eb0799837ec1ecc5b406fb02a0 /static/js/color-scheme-switcher.js
parentf6ebd20313af4cde065e737d097338ea9efa5163 (diff)
downloadblog-803e32db12fd426597cffd1f8c7fb877401158f1.tar.gz
blog-803e32db12fd426597cffd1f8c7fb877401158f1.zip
Add dark mode toggle
Diffstat (limited to 'static/js/color-scheme-switcher.js')
-rw-r--r--static/js/color-scheme-switcher.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/static/js/color-scheme-switcher.js b/static/js/color-scheme-switcher.js
new file mode 100644
index 0000000..9166e29
--- /dev/null
+++ b/static/js/color-scheme-switcher.js
@@ -0,0 +1,27 @@
+console.log("Loaded")
+const modes = {
+ Dark = "dark",
+ Light = "light",
+}
+
+function getCurrentMode() {
+ return localStorage.getItem("theme");
+}
+
+const toggleColorSchemeBtn = document.getElementById("toggle-theme-btn");
+const body = document.body;
+const currentMode = getCurrentMode()
+if (currentMode === modes.Light) {
+ body.classList.toggle("dark-mode");
+
+}
+
+toggleColorSchemeBtn.addEventListener("click", () => {
+ body.classList.toggle("dark-mode");
+
+ if (body.classList.contains("dark-mode")) {
+ localStorage.setItem("theme", modes.Dark);
+ } else {
+ localStorage.setItem("theme", modes.Light);
+ }
+})