28 lines
863 B
JavaScript
28 lines
863 B
JavaScript
(function() {
|
|
var darkSwitch = document.getElementById("darkSwitch");
|
|
if (darkSwitch) {
|
|
initTheme();
|
|
darkSwitch.addEventListener("change", function(event) {
|
|
resetTheme();
|
|
});
|
|
function initTheme() {
|
|
var darkThemeSelected =
|
|
localStorage.getItem("darkSwitch") !== null &&
|
|
localStorage.getItem("darkSwitch") === "dark";
|
|
darkSwitch.checked = darkThemeSelected;
|
|
darkThemeSelected
|
|
? document.body.setAttribute("data-theme", "dark")
|
|
: document.body.removeAttribute("data-theme");
|
|
}
|
|
function resetTheme() {
|
|
if (darkSwitch.checked) {
|
|
document.body.setAttribute("data-theme", "dark");
|
|
localStorage.setItem("darkSwitch", "dark");
|
|
} else {
|
|
document.body.removeAttribute("data-theme");
|
|
localStorage.removeItem("darkSwitch");
|
|
}
|
|
}
|
|
}
|
|
})();
|