billing frontend for mariadb. setup as otb_billing for outsidethebox.top accounting. also involved with outsidethedb
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

44 lines
1.0 KiB

(function () {
const STORAGE_KEY = "otb_theme";
const root = document.documentElement;
function getPreferredTheme() {
const saved = localStorage.getItem(STORAGE_KEY);
if (saved === "light" || saved === "dark") return saved;
return "dark";
}
function applyTheme(theme) {
root.setAttribute("data-theme", theme);
const toggle = document.getElementById("otbThemeToggle");
if (toggle) {
toggle.checked = theme === "dark";
}
}
function saveTheme(theme) {
localStorage.setItem(STORAGE_KEY, theme);
}
function initThemeToggle() {
const toggle = document.getElementById("otbThemeToggle");
if (!toggle) return;
toggle.addEventListener("change", function () {
const theme = toggle.checked ? "dark" : "light";
applyTheme(theme);
saveTheme(theme);
});
}
function init() {
applyTheme(getPreferredTheme());
initThemeToggle();
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", init);
} else {
init();
}
})();