website/static/src/js/darkmode.js

26 lines
600 B
JavaScript
Raw Normal View History

2022-06-12 19:35:06 +01:00
import Darkmode from "darkmode-js";
const DARKMODE_OPTIONS = {
2022-06-12 19:35:06 +01:00
left: "32px",
right: "unset",
time: "0.7s",
saveInCookies: false,
2022-06-12 19:35:06 +01:00
label: "🌓",
};
window.addEventListener("load", () => {
const darkmode = new Darkmode(DARKMODE_OPTIONS);
darkmode.showWidget();
window.darkmodejs = darkmode;
});
// Also listen to native theme changes
2022-06-12 19:35:06 +01:00
window
.matchMedia("(prefers-color-scheme: dark)")
.addEventListener("change", (e) => {
if (e.matches !== window.darkmodejs.isActivated()) {
// HACK: .toggle doesn't work quite right
window.darkmodejs.button.click();
}
});