mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-23 20:47:01 +01:00
20 lines
797 B
JavaScript
20 lines
797 B
JavaScript
|
/** 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);
|