kanidm/server/core/static/style.js

20 lines
797 B
JavaScript
Raw Normal View History

/** Queries the user's preferred colour scheme and returns the appropriate value.
From https://getbootstrap.com/docs/5.3/customize/color-modes/#javascript
*/
function getPreferredTheme() {
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
}
/** Sets the theme.
*/
function updateColourScheme() {
const theme = getPreferredTheme();
console.debug(`updateColourScheme theme->${theme}`);
document.documentElement.setAttribute("data-bs-theme", theme);
}
updateColourScheme();
window.matchMedia("(prefers-color-scheme: light)").addEventListener("change", updateColourScheme);
window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", updateColourScheme);
document.body.addEventListener("htmx:afterOnLoad", updateColourScheme);