Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 19213f9

Browse files
committedMar 29, 2024
fix(color-mode.service): afterNextRender() for SSR
1 parent 4c6e8a5 commit 19213f9

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed
 

‎projects/coreui-angular/src/lib/services/color-mode.service.ts

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
import { DOCUMENT } from '@angular/common';
2-
import { DestroyRef, effect, inject, Injectable, signal, WritableSignal } from '@angular/core';
2+
import {
3+
afterNextRender,
4+
AfterRenderPhase,
5+
DestroyRef,
6+
effect,
7+
inject,
8+
Injectable,
9+
signal,
10+
WritableSignal
11+
} from '@angular/core';
312
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
413
import { tap } from 'rxjs/operators';
514
import { LocalStorageService } from './local-storage.service';
@@ -30,14 +39,16 @@ export class ColorModeService {
3039
});
3140

3241
constructor() {
33-
this.localStorageItemName$
34-
.pipe(
35-
tap(params => {
36-
this.colorMode.set(this.getDefaultScheme(params));
37-
}),
38-
takeUntilDestroyed(this.#destroyRef)
39-
)
40-
.subscribe();
42+
afterNextRender(() => {
43+
this.localStorageItemName$
44+
.pipe(
45+
tap(params => {
46+
this.colorMode.set(this.getDefaultScheme(params));
47+
}),
48+
takeUntilDestroyed(this.#destroyRef)
49+
)
50+
.subscribe();
51+
}, { phase: AfterRenderPhase.Read });
4152
}
4253

4354
getStoredTheme(localStorageItemName: string) {

0 commit comments

Comments
 (0)
Please sign in to comment.