fix: persist dark mode theme after page reload (#2730)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user