DEV: Add app event triggers for interface color changes (#31558)

This commit is contained in:
Jean
2025-02-28 12:08:42 -04:00
committed by GitHub
parent 56a0b17b12
commit cbdd28321e

View File

@ -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);
}
}