mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-07-08 01:31:00 +08:00
add Lisntener to prefers-color-scheme
This commit is contained in:
@@ -12,7 +12,7 @@ import TaskManager from "./TaskManager.tsx";
|
|||||||
import { initState, set_state } from "../server/state.ts";
|
import { initState, set_state } from "../server/state.ts";
|
||||||
import NewTask from "../components/NewTask.tsx";
|
import NewTask from "../components/NewTask.tsx";
|
||||||
import { parse_int } from "../server/parse.ts";
|
import { parse_int } from "../server/parse.ts";
|
||||||
import { detect_darkmode } from "../server/dark.ts";
|
import { addDarkModeListener, detect_darkmode } from "../server/dark.ts";
|
||||||
import { registeServiceWorker } from "../server/sw.ts";
|
import { registeServiceWorker } from "../server/sw.ts";
|
||||||
import { initCfg } from "../server/cfg.ts";
|
import { initCfg } from "../server/cfg.ts";
|
||||||
|
|
||||||
@@ -77,6 +77,15 @@ export default class Container extends Component<ContainerProps> {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
initCfg();
|
initCfg();
|
||||||
|
addDarkModeListener((e) => {
|
||||||
|
if (darkmode === DarkMode.Auto) {
|
||||||
|
if (e.matches) {
|
||||||
|
document.body.classList.add("dark-scheme");
|
||||||
|
} else {
|
||||||
|
document.body.classList.remove("dark-scheme");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}, []);
|
}, []);
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -2,3 +2,11 @@ export function detect_darkmode() {
|
|||||||
return window.matchMedia &&
|
return window.matchMedia &&
|
||||||
window.matchMedia("(prefers-color-scheme: dark)").matches;
|
window.matchMedia("(prefers-color-scheme: dark)").matches;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function addDarkModeListener(e: (e: MediaQueryListEvent) => void) {
|
||||||
|
return window.matchMedia &&
|
||||||
|
window.matchMedia("(prefers-color-scheme: dark)").addEventListener(
|
||||||
|
"change",
|
||||||
|
e,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user