aboutsummaryrefslogtreecommitdiff
path: root/src/scripts
diff options
context:
space:
mode:
authoradam <56338480+adastx@users.noreply.github.com>2022-08-28 11:09:28 +0200
committeradam <56338480+adastx@users.noreply.github.com>2022-08-28 11:24:26 +0200
commit7c366e26ffcb31e04b8d64a8ceb2849da4faecf9 (patch)
treeb2ded82b3e4d83f907db6160344341470bef864b /src/scripts
parente53d889a149f8b85320db2cc71bdd63100e1268a (diff)
Simplified darktheme.js
Diffstat (limited to 'src/scripts')
-rw-r--r--src/scripts/darktheme.js35
1 files changed, 16 insertions, 19 deletions
diff --git a/src/scripts/darktheme.js b/src/scripts/darktheme.js
index a06aca2..66a3194 100644
--- a/src/scripts/darktheme.js
+++ b/src/scripts/darktheme.js
@@ -1,27 +1,24 @@
-// Get the theme toggle input
-const currentTheme = localStorage.getItem("theme"); // If the current local storage item can be found
+const theme = localStorage.getItem("theme");
+var isDark = false;
-if (window.matchMedia
- && window.matchMedia("(prefers-color-scheme: dark)").matches
- && !localStorage.getItem("theme")) {
- localStorage.setItem("theme", "dark");
+if (theme) {
+ setTheme(theme === "dark");
+} else if (window.matchMedia
+ && window.matchMedia("(prefers-color-scheme: dark)").matches) {
+ setTheme(true);
}
-// Function that will switch the theme based on the if the theme toggle is checked or not
-function switchTheme() {
- if (document.body.classList.contains('dark-mode')) {
- document.body.classList.remove("dark-mode");
- localStorage.setItem("theme", "light");
- } else {
+function setTheme(dark) {
+ if (dark) {
document.body.classList.add("dark-mode");
localStorage.setItem("theme", "dark");
+ } else {
+ document.body.classList.remove("dark-mode");
+ localStorage.setItem("theme", "light");
}
+ isDark = dark;
}
-// Get the current theme from local storage
-if (currentTheme === "dark") {
- document.body.classList.add("dark-mode");
- localStorage.setItem("theme", "dark");
-} else {
- document.body.classList.remove("dark-mode");
- localStorage.setItem("theme", "light");
+
+function switchTheme() {
+ setTheme(!isDark);
}