From 2e7410265f80cde243a46c85a59d5f827edf2ee3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 17 Feb 2025 01:51:01 +0100 Subject: [PATCH] theme/persist --- script/main.js | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/script/main.js b/script/main.js index 1be7269..69dc4b8 100644 --- a/script/main.js +++ b/script/main.js @@ -1,17 +1,35 @@ const button = document.getElementById("theme"); const classes = document.documentElement.classList; -function refresh() { - button.innerHTML = theme(); +function button_refresh() { + button.innerHTML = theme_get(); } - -function theme() { +function theme_get() { return classes.contains("dark")?"dark":"light"; } +function theme_read() { + const theme = localStorage.getItem("theme"); + if (theme) { + theme_set(theme); + } +} +function theme_set(theme) { + if (theme == "dark") { + classes.add("dark"); + } + button_refresh(); +} +function theme_toggle() { + classes.toggle("dark"); + button_refresh(); + theme_write(); +} +function theme_write() { + localStorage.setItem("theme", theme_get()); +} button.addEventListener("click", () => { - classes.toggle("dark"); - refresh(); + theme_toggle(); }); -refresh(); +theme_read();