diff --git a/assets/ts/darkmode.ts b/assets/ts/darkmode.ts index 828b8e2..3d23ade 100644 --- a/assets/ts/darkmode.ts +++ b/assets/ts/darkmode.ts @@ -38,7 +38,14 @@ class StackDarkMode { } private isDark() { - return (this.currentScheme == 'dark' || this.currentScheme == 'auto' && this.preferDarkMode); + return (this.currentScheme == 'dark' || this.currentScheme == 'auto' && this.systemPreferScheme == 'dark'); + } + + private dispatchEvent(colorScheme: colorScheme) { + const event = new CustomEvent('onColorSchemeChange', { + detail: colorScheme + }); + window.dispatchEvent(event); } private setBodyClass() { @@ -51,6 +58,8 @@ class StackDarkMode { else { document.body.dataset.scheme = 'light'; } + + this.dispatchEvent(document.body.dataset.scheme as colorScheme); } private getSavedScheme(): colorScheme {