fix(editor): init default theme observer value according to data-theme (#9698)
This commit is contained in:
@@ -161,10 +161,17 @@ export class ThemeService extends Extension {
|
|||||||
export class ThemeObserver {
|
export class ThemeObserver {
|
||||||
private readonly observer: MutationObserver;
|
private readonly observer: MutationObserver;
|
||||||
|
|
||||||
theme$ = signal(ColorScheme.Light);
|
theme$: Signal<ColorScheme>;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
const COLOR_SCHEMES: string[] = Object.values(ColorScheme);
|
const COLOR_SCHEMES: string[] = Object.values(ColorScheme);
|
||||||
|
// Set initial theme according to the data-theme attribute
|
||||||
|
const initialMode = document.documentElement.dataset.theme;
|
||||||
|
this.theme$ = signal(
|
||||||
|
initialMode && COLOR_SCHEMES.includes(initialMode)
|
||||||
|
? (initialMode as ColorScheme)
|
||||||
|
: ColorScheme.Light
|
||||||
|
);
|
||||||
this.observer = new MutationObserver(() => {
|
this.observer = new MutationObserver(() => {
|
||||||
const mode = document.documentElement.dataset.theme;
|
const mode = document.documentElement.dataset.theme;
|
||||||
if (!mode) return;
|
if (!mode) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user