From 7d254f5a3ef3ce8cb0665cae1c291f7df7ddd719 Mon Sep 17 00:00:00 2001 From: Florian Greistorfer Date: Fri, 6 Feb 2026 07:33:35 +0100 Subject: [PATCH] localStorage --- templates/functionality.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/templates/functionality.js b/templates/functionality.js index ce80128..e8987de 100644 --- a/templates/functionality.js +++ b/templates/functionality.js @@ -426,6 +426,7 @@ class PhotoGallery { darkMode() { const themeLink = document.getElementById("theme"); const darkThemeLink = document.getElementById("darktheme"); + localStorage.setItem("theme", "dark"); if (themeLink) themeLink.disabled = true; if (darkThemeLink) darkThemeLink.disabled = false; } @@ -433,6 +434,7 @@ class PhotoGallery { lightMode() { const themeLink = document.getElementById("theme"); const darkThemeLink = document.getElementById("darktheme"); + localStorage.setItem("theme", "light"); if (themeLink) themeLink.disabled = false; if (darkThemeLink) darkThemeLink.disabled = true; } @@ -462,9 +464,22 @@ class PhotoGallery { detectDarkMode() { if (document.getElementById("darktheme")) { + const switchState = document.getElementById("dark-mode-switch-check"); + const localStorageTheme = localStorage.getItem("theme"); + if (localStorageTheme === "dark") { + switchState.checked = true; + this.darkModeToggle("dark"); + return; + } else if (localStorageTheme === "light") { + switchState.checked = true; + this.darkModeToggle("light"); + return; + } if (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) { + switchState.checked = true; this.darkModeToggle("dark"); } else { + switchState.checked = false; this.darkModeToggle("light"); } }