rqbit/crates/librqbit/webui/src/helper/darkMode.ts
2023-12-16 10:23:24 +00:00

21 lines
490 B
TypeScript

let darkMode = window.matchMedia("(prefers-color-scheme: dark)").matches;
window
.matchMedia("(prefers-color-scheme: dark)")
.addEventListener("change", (event) => {
DarkMode.setDark(event.matches);
});
export const DarkMode = {
isDark: () => darkMode,
setDark: (value: boolean) => {
darkMode = value;
document.body.classList.toggle("dark", darkMode);
return darkMode;
},
toggle: () => {
DarkMode.setDark(!darkMode);
},
};
DarkMode.setDark(darkMode);