mirror of
https://github.com/discourse/discourse.git
synced 2025-06-24 06:11:56 +08:00
DEV: Add app event triggers for interface color changes (#31558)
This commit is contained in:
@ -7,6 +7,7 @@ const DARK = "dark";
|
||||
const LIGHT = "light";
|
||||
|
||||
export default class InterfaceColor extends Service {
|
||||
@service appEvents;
|
||||
@service siteSettings;
|
||||
@service session;
|
||||
@tracked forcedColorMode;
|
||||
@ -68,6 +69,7 @@ export default class InterfaceColor extends Service {
|
||||
darkStylesheet.media = "none";
|
||||
}
|
||||
}
|
||||
this.appEvents.trigger("interface-color:changed", LIGHT);
|
||||
}
|
||||
|
||||
forceDarkMode({ flipStylesheets = true } = {}) {
|
||||
@ -85,6 +87,7 @@ export default class InterfaceColor extends Service {
|
||||
darkStylesheet.media = "all";
|
||||
}
|
||||
}
|
||||
this.appEvents.trigger("interface-color:changed", DARK);
|
||||
}
|
||||
|
||||
removeColorModeOverride() {
|
||||
@ -94,11 +97,13 @@ export default class InterfaceColor extends Service {
|
||||
const lightStylesheet = this.#lightColorsStylesheet();
|
||||
if (lightStylesheet) {
|
||||
lightStylesheet.media = "(prefers-color-scheme: light)";
|
||||
this.appEvents.trigger("interface-color:changed", LIGHT);
|
||||
}
|
||||
|
||||
const darkStylesheet = this.#darkColorsStylesheet();
|
||||
if (darkStylesheet) {
|
||||
darkStylesheet.media = "(prefers-color-scheme: dark)";
|
||||
this.appEvents.trigger("interface-color:changed", DARK);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user