cv.marc/in/script/main.js

38 lines
808 B
JavaScript
Raw Normal View History

2025-04-17 11:02:37 +02:00
const buttons = ["item", "link", "swap"];
2025-03-28 21:41:36 +01:00
2025-04-17 09:55:28 +02:00
for (let button of buttons) {
document.getElementById(button).addEventListener("click", () => {
document.body.classList.toggle(button);
});
}
2025-04-16 22:04:28 +02:00
2025-04-17 11:19:35 +02:00
let theme
2025-02-16 20:03:30 +01:00
2025-02-17 01:51:01 +01:00
function theme_get() {
2025-04-17 11:19:35 +02:00
theme = localStorage.getItem("theme");
if (! theme) {
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
theme = "dark";
} else {
theme = "light";
}
2025-02-17 01:51:01 +01:00
}
2025-04-17 11:19:35 +02:00
theme_set()
2025-02-17 01:51:01 +01:00
}
2025-04-17 11:19:35 +02:00
function theme_set() {
2025-02-18 00:01:39 +01:00
document.documentElement.setAttribute("data-theme", theme);
localStorage.setItem("theme", theme);
2025-02-17 01:51:01 +01:00
}
2025-02-16 20:03:30 +01:00
2025-04-17 11:19:35 +02:00
function theme_swap() {
theme = theme === "light" ? "dark" : "light";
theme_set();
}
document.getElementById("theme").addEventListener("click", () => {
theme_swap();
2025-02-16 20:03:30 +01:00
});
2025-04-17 11:19:35 +02:00
theme_get()