summaryrefslogtreecommitdiff
path: root/source/js/darkmode.ts
diff options
context:
space:
mode:
Diffstat (limited to 'source/js/darkmode.ts')
-rw-r--r--source/js/darkmode.ts37
1 files changed, 0 insertions, 37 deletions
diff --git a/source/js/darkmode.ts b/source/js/darkmode.ts
deleted file mode 100644
index db24d0a..0000000
--- a/source/js/darkmode.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-// Darkmode Listener
-enum SystemDarkmodePrefrence {
- dark = 0,
- light = 1
-};
-
-class DarkmodeListener {
- private _mode: SystemDarkmodePrefrence;
- private _handlers: ((mode: SystemDarkmodePrefrence)=>void)[];
-
- public constructor() {
- let darking = window.matchMedia('(prefers-color-scheme: dark)').matches;
- this._mode = darking ? SystemDarkmodePrefrence.dark : SystemDarkmodePrefrence.light;
- this._handlers = [];
- this._listen();
- }
-
- private _listen(): void {
- let media = window.matchMedia('(prefers-color-scheme: dark)');
- let callback = (event: MediaQueryListEvent) => {
- let mode = event.matches ? SystemDarkmodePrefrence.dark : SystemDarkmodePrefrence.light;
- this._handlers.forEach(handler => {
- handler(mode);
- });
- this._mode = mode;
- };
- media.addEventListener("change", callback);
- }
-
- public add(callback: (mode: SystemDarkmodePrefrence)=>void): void {
- this._handlers.push(callback);
- }
-
- public mode(): SystemDarkmodePrefrence {
- return this._mode;
- }
-};