kobel/static/js/theme.js
2024-01-06 20:44:35 +01:00

25 lines
No EOL
868 B
JavaScript

window.onload = (event) => {
const btn = document.getElementById("theme-toggler");
const darkTheme = window.matchMedia("(prefers-color-scheme: dark)");
const currentTheme = localStorage.getItem("theme");
if (currentTheme == "dark") {
document.body.classList.toggle("dark");
} else if (currentTheme == "light") {
document.body.classList.toggle("light");
btn.classList.toggle("rotate-180");
}
btn.addEventListener("click", function () {
btn.classList.toggle("rotate-180");
var theme = "dark";
if (darkTheme.matches) {
document.body.classList.toggle("light");
theme = document.body.classList.contains("light") ? "light" : "dark";
} else {
document.body.classList.toggle("dark");
theme = document.body.classList.contains("dark") ? "dark" : "light";
}
localStorage.setItem("theme", theme);
});
}