diff options
author | Doge <[email protected]> | 2021-05-09 15:28:52 +0800 |
---|---|---|
committer | Doge <[email protected]> | 2021-05-09 15:28:52 +0800 |
commit | 582b8b355dc87bdbaa729442882461f2975f8d27 (patch) | |
tree | c9580f478decec1f9592a87b775bfafc05ee3778 /source/js/script.ts | |
parent | 832ebd0038ccecbd6bbd5baa337c8d59e19542f7 (diff) | |
download | chromate-582b8b355dc87bdbaa729442882461f2975f8d27.tar.gz chromate-582b8b355dc87bdbaa729442882461f2975f8d27.tar.bz2 chromate-582b8b355dc87bdbaa729442882461f2975f8d27.zip |
Fix darkmode bug
Diffstat (limited to 'source/js/script.ts')
-rw-r--r-- | source/js/script.ts | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/source/js/script.ts b/source/js/script.ts index 6d7b6b5..7bfdda5 100644 --- a/source/js/script.ts +++ b/source/js/script.ts @@ -18,16 +18,21 @@ window.addEventListener("load", () => { // Add header hover page class changer const colorman = (mode: SystemDarkmodePrefrence) => { - const page = document.getElementById("header-page"); - if (mode === SystemDarkmodePrefrence.dark) { - page?.classList.add("is-dark"); - page?.classList.remove("is-light"); - } else { - page?.classList.add("is-light"); - page?.classList.remove("is-dark"); - } + let clsname: string = ".is-light"; + if (darklistener.mode() === SystemDarkmodePrefrence.dark) + clsname = ".is-dark"; + const elements: Element[] = Array.prototype.slice.call( + document.querySelectorAll(clsname), 0); + elements.forEach((element) => { + if (mode === SystemDarkmodePrefrence.dark) { + element?.classList.add("is-dark"); + element?.classList.remove("is-light"); + } else { + element?.classList.add("is-light"); + element?.classList.remove("is-dark"); + } + }) } - colorman(darklistener.mode()); darklistener.add(colorman); }); @@ -61,6 +66,7 @@ class DarkmodeListener { } public add(callback: (mode: SystemDarkmodePrefrence) => void): void { + callback(this._mode); this._handlers.push(callback); } |