odhin-reports-playwright
Version:
Odhin Reports for Playwright
41 lines (35 loc) • 864 B
JavaScript
function getAppliedMode(userPreference) {
if (userPreference === "light") {
return "light";
}
if (userPreference === "dark") {
return "dark";
}
if (userPreference === "custom") {
return "custom";
}
return "custom";
}
function setAppliedMode(mode) {
document.documentElement.dataset.appliedMode = mode;
}
function rotatePreferences(userPreference) {
if (userPreference === "custom") {
return "light";
}
if (userPreference === "light") {
return "dark";
}
if (userPreference === "dark") {
return "custom";
}
return "custom";
}
const themeToggler = document.getElementById("theme-toggle");
let userPreference = "custom";
setAppliedMode(getAppliedMode(userPreference));
themeToggler.onclick = () => {
const newUserPref = rotatePreferences(userPreference);
userPreference = newUserPref;
setAppliedMode(getAppliedMode(newUserPref));
};