dragonroll/static/scripts/themeWatch.js

32 lines
1.4 KiB
JavaScript
Raw Normal View History

2024-10-05 12:31:09 +00:00
function updateLogoThemes(){
let theme = localStorage.getItem('theme')
let darkLogos = document.getElementsByClassName('logo-splash-dark');
let lightLogos = document.getElementsByClassName('logo-splash-light');
if(theme == 'dark'){
for(let i = 0; i < darkLogos.length; i++) darkLogos[i].style.display = "unset";
for(let i = 0; i < lightLogos.length; i++) lightLogos[i].style.display = "none";
} else {
for(let i = 0; i < darkLogos.length; i++) darkLogos[i].style.display = "none";
for(let i = 0; i < lightLogos.length; i++) lightLogos[i].style.display = "unset";
}
}
document.addEventListener("DOMContentLoaded", (event) => {
2024-10-05 23:36:18 +00:00
let darkLogos = document.getElementsByClassName('logo-splash-dark');
let lightLogos = document.getElementsByClassName('logo-splash-light');
for(let i = 0; i < darkLogos.length; i++) darkLogos[i].style.display = "none";
for(let i = 0; i < lightLogos.length; i++) lightLogos[i].style.display = "none";
2024-10-05 12:31:09 +00:00
const attrObserver = new MutationObserver((mutations) => {
mutations.forEach(mu => {
if (mu.type !== "attributes" && mu.attributeName !== "class") return;
updateLogoThemes();
});
});
const ELS_test = document.querySelectorAll("body");
ELS_test.forEach(el => attrObserver.observe(el, {attributes: true}));
updateLogoThemes();
});