diff --git a/openvidu-components-angular/projects/openvidu-components-angular/src/lib/components/videoconference/videoconference.component.ts b/openvidu-components-angular/projects/openvidu-components-angular/src/lib/components/videoconference/videoconference.component.ts index 8faa65ec..af8e41b8 100644 --- a/openvidu-components-angular/projects/openvidu-components-angular/src/lib/components/videoconference/videoconference.component.ts +++ b/openvidu-components-angular/projects/openvidu-components-angular/src/lib/components/videoconference/videoconference.component.ts @@ -64,6 +64,7 @@ import { PreJoinDirective, LeaveButtonDirective } from '../../directives/template/internals.directive'; +import { OpenViduThemeService } from '../../services/theme/theme.service'; /** * The **VideoconferenceComponent** is the parent of all OpenVidu components. @@ -710,7 +711,8 @@ export class VideoconferenceComponent implements OnDestroy, AfterViewInit { private openviduService: OpenViduService, private actionService: ActionService, private libService: OpenViduComponentsConfigService, - private templateManagerService: TemplateManagerService + private templateManagerService: TemplateManagerService, + private themeService: OpenViduThemeService ) { this.log = this.loggerSrv.get('VideoconferenceComponent'); @@ -726,6 +728,7 @@ export class VideoconferenceComponent implements OnDestroy, AfterViewInit { error: { hasError: false } }); + this.themeService.initializeTheme(); this.subscribeToVideconferenceDirectives(); } diff --git a/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/theme/theme.service.ts b/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/theme/theme.service.ts index e74d3986..b7d19c42 100644 --- a/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/theme/theme.service.ts +++ b/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/theme/theme.service.ts @@ -41,8 +41,13 @@ export class OpenViduThemeService { constructor( @Inject(DOCUMENT) private document: Document, protected storageService: StorageService - ) { - this.initializeTheme(); + ) {} + + initializeTheme(): void { + const savedTheme = this.storageService.getTheme(); + const initialTheme = savedTheme || OpenViduThemeMode.CLASSIC; + this.applyTheme(initialTheme); + this.currentThemeSubject.next(initialTheme); } /** @@ -137,13 +142,6 @@ export class OpenViduThemeService { return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; } - private initializeTheme(): void { - const savedTheme = this.storageService.getTheme(); - const initialTheme = savedTheme || OpenViduThemeMode.CLASSIC; - this.applyTheme(initialTheme); - this.currentThemeSubject.next(initialTheme); - } - private applyTheme(theme: OpenViduThemeMode): void { const documentElement = this.document.documentElement; const currentTheme = this.getCurrentTheme();