fix: persist dark mode theme after page reload (#2730)

This commit is contained in:
Shubham Kumar
2025-10-29 18:36:11 -06:00
committed by GitHub
parent 2c5d977110
commit e2a6767a4f
3 changed files with 7 additions and 7 deletions
+3 -3
View File
@@ -255,11 +255,11 @@ export class SettingsService {
}); });
} }
setThemeDarkEnabled(enabled: string) { setThemeDarkEnabled(enabled: boolean) {
localStorage.setItem('mifosXThemeDarkEnabled', enabled); localStorage.setItem('mifosXThemeDarkEnabled', JSON.stringify(enabled));
} }
get themeDarkEnabled() { get themeDarkEnabled(): boolean {
return JSON.parse(localStorage.getItem('mifosXThemeDarkEnabled')); return JSON.parse(localStorage.getItem('mifosXThemeDarkEnabled'));
} }
} }
@@ -24,16 +24,16 @@ export class ThemeToggleComponent implements OnInit, OnChanges {
) {} ) {}
ngOnInit(): void { ngOnInit(): void {
this.darkModeOn = this.settingsService.themeDarkEnabled === 'true'; this.darkModeOn = !!this.settingsService.themeDarkEnabled;
} }
ngOnChanges(changes: SimpleChanges): void { ngOnChanges(changes: SimpleChanges): void {
this.darkModeOn = this.settingsService.themeDarkEnabled === 'true'; this.darkModeOn = !!this.settingsService.themeDarkEnabled;
} }
toggleTheme() { toggleTheme() {
this.darkModeOn = !this.darkModeOn; this.darkModeOn = !this.darkModeOn;
this.settingsService.setThemeDarkEnabled(this.darkModeOn ? 'true' : 'false'); this.settingsService.setThemeDarkEnabled(this.darkModeOn);
this.themingService.setDarkMode(this.darkModeOn); this.themingService.setDarkMode(this.darkModeOn);
} }
} }
+1 -1
View File
@@ -148,7 +148,7 @@ export class WebAppComponent implements OnInit, OnDestroy {
this.cssClass = value; this.cssClass = value;
}); });
this.themingService.setInitialDarkMode(); this.themingService.setInitialDarkMode();
this.themingService.setDarkMode(this.settingsService.themeDarkEnabled === 'true'); this.themingService.setDarkMode(!!this.settingsService.themeDarkEnabled);
// Setup logger // Setup logger
if (environment.production) { if (environment.production) {