Files
radicle.xyz/assets/js/toggle-theme.js
T
2024-03-10 20:27:33 +01:00

25 lines
668 B
JavaScript

const rootElement = document.documentElement;
const themeToggleBtn = document.getElementById("toggle-theme");
const storedTheme = localStorage.getItem("theme");
const defaultTheme = window.matchMedia
&& window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
setTheme(storedTheme || defaultTheme);
if (themeToggleBtn) {
themeToggleBtn.addEventListener("click", () => {
const currentTheme = rootElement.dataset.theme;
if (currentTheme === "dark") {
setTheme("light");
} else {
setTheme("dark");
}
});
}
function setTheme(theme) {
rootElement.dataset.theme = theme;
localStorage.setItem("theme", theme);
}