design/styleguide/assets/script/styleguide.js
kritzl 89fbbd1388
All checks were successful
/ build (push) Successful in 12s
Fix JS error when elements are missing
2025-02-20 19:34:31 +01:00

27 lines
No EOL
772 B
JavaScript

document.querySelector('nav > button')?.addEventListener('click', (e) => {
document.querySelector('nav').classList.toggle('visible');
})
function applyTheme(theme){
const html = document.querySelector('html')
document.cookie = `theme=${theme}; path=/; expires=; SameSite=Strict; Secure`
html.classList.remove('dark', 'light')
html.classList.add(theme)
}
document.querySelectorAll('.toggleTheme')?.forEach(
element => element.addEventListener('click', (e) => {
const newTheme = element.dataset.theme;
applyTheme(newTheme);
}
)
);
const themeFromCookie = document.cookie
.split("; ")
.find((row) => row.startsWith("theme="))
?.split("=")[1];
if (themeFromCookie) {
applyTheme(themeFromCookie)
}