This commit is contained in:
Marc Beninca 2025-04-17 11:19:35 +02:00
parent e395348e62
commit aec7a3fd61
Signed by: marc.beninca
GPG key ID: 9C7613450C80C24F

View file

@ -1,42 +1,37 @@
const buttons = ["item", "link", "swap"];
// toggle buttons
for (let button of buttons) {
document.getElementById(button).addEventListener("click", () => {
document.body.classList.toggle(button);
});
}
// theme
const button = document.getElementById("theme");
let theme
function theme_get() {
return document.documentElement.getAttribute("data-theme");
}
function theme_load() {
const theme = localStorage.getItem("theme");
if (theme) {
theme_set(theme);
theme = localStorage.getItem("theme");
if (! theme) {
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
theme = "dark";
} else {
theme = "light";
}
}
function theme_set(theme) {
theme_set()
}
function theme_set() {
document.documentElement.setAttribute("data-theme", theme);
theme_write(theme);
}
function theme_swap(theme) {
return theme === "dark" ? "light" : "dark";
}
function theme_toggle() {
theme_set(theme_swap(theme_get()));
}
function theme_write(theme) {
localStorage.setItem("theme", theme);
}
button.addEventListener("click", () => {
theme_toggle();
function theme_swap() {
theme = theme === "light" ? "dark" : "light";
theme_set();
}
document.getElementById("theme").addEventListener("click", () => {
theme_swap();
});
theme_load();
theme_get()