(function () {
"use strict";
var KEY = "allowthem:mode";
var html = document.documentElement;
function currentMode() {
return html.getAttribute("data-mode") || "dark";
}
function labelFor(mode) {
return mode === "dark" ? "light" : "dark";
}
function paintButtons() {
var next = labelFor(currentMode());
var buttons = document.querySelectorAll("[data-mode-toggle]");
for (var i = 0; i < buttons.length; i++) {
buttons[i].setAttribute("data-next-mode", next);
}
}
if (!html.hasAttribute("data-mode-locked")) {
try {
var stored = window.localStorage.getItem(KEY);
if (stored === "dark" || stored === "light") {
html.setAttribute("data-mode", stored);
}
} catch (_e) {
}
}
document.addEventListener("click", function (ev) {
var btn = ev.target.closest && ev.target.closest("[data-mode-toggle]");
if (!btn) return;
if (html.hasAttribute("data-mode-locked")) return;
var next = labelFor(currentMode());
html.setAttribute("data-mode", next);
try {
window.localStorage.setItem(KEY, next);
} catch (_e) {}
paintButtons();
if (window.wfEcho) {
window.wfEcho("Switched to " + next + " mode.", { kind: "info" });
}
});
paintButtons();
})();