diff --git a/kdb-web/src/app/app.component.ts b/kdb-web/src/app/app.component.ts index 4bf3415267..22a6a7cd34 100644 --- a/kdb-web/src/app/app.component.ts +++ b/kdb-web/src/app/app.component.ts @@ -31,7 +31,6 @@ export class AppComponent implements OnInit { this.socket.startSocket(); this.themeService.loadTheme(); - this.themeService.loadMenu(); } diff --git a/kdb-web/src/app/components/sidebar/sidebar.component.ts b/kdb-web/src/app/components/sidebar/sidebar.component.ts index ddc840eac4..cbf13c6f7c 100644 --- a/kdb-web/src/app/components/sidebar/sidebar.component.ts +++ b/kdb-web/src/app/components/sidebar/sidebar.component.ts @@ -20,33 +20,32 @@ export class SidebarComponent implements OnInit { private authService: AuthService, private translateService: TranslateService, private themeService: ThemeService - ) { } - - ngOnInit(): void { + ) { this.themeService.isSidebarOpen$.subscribe(value => { this.isSidebarOpen = value; this.setMenu(); }); - this.translateService.onLangChange.subscribe((event: LangChangeEvent) => { this.setMenu(); }); - this.setMenu(); + } + + ngOnInit(): void { + this.themeService.loadMenu(); } setMenu() { - this.authService.hasUserPermission(AuthRoles.Admin).then(hasPermission => { this.menuItems = []; this.menuItems = [ { label: this.isSidebarOpen ? this.translateService.instant('sidebar.dashboard') : '', icon: 'pi pi-th-large', routerLink: 'dashboard' }, ]; - + if (!hasPermission) { return; } - + this.menuItems.push( { separator: true }, { label: this.isSidebarOpen ? this.translateService.instant('sidebar.config') : '', icon: 'pi pi-cog', routerLink: '/admin/settings' }, diff --git a/kdb-web/src/app/services/theme/theme.service.ts b/kdb-web/src/app/services/theme/theme.service.ts index 0d3dae59fb..914ba774ef 100644 --- a/kdb-web/src/app/services/theme/theme.service.ts +++ b/kdb-web/src/app/services/theme/theme.service.ts @@ -27,13 +27,13 @@ export class ThemeService { }); this.isSidebarOpen$.subscribe(isSidebarOpen => { this.isSidebarOpen = isSidebarOpen; + this.sidebarWidth$.next(isSidebarOpen ? '150px' : '50px'); }); this.sidebarWidth$.subscribe(sidebarWidth => { this.sidebarWidth = sidebarWidth; }); - + this.loadTheme(); - this.loadMenu(); } loadTheme(): void { @@ -87,7 +87,7 @@ export class ThemeService { let isMenuOpen = true; let isMenuOpenStr = localStorage.getItem(`${mail}_isMenuOpen`); if (isMenuOpenStr) { - isMenuOpen = Boolean(isMenuOpenStr); + isMenuOpen = JSON.parse(isMenuOpenStr); } this.setIsMenuOpen(isMenuOpen); @@ -107,7 +107,6 @@ export class ThemeService { } setSideWidth(isSidebarOpen: boolean): void { - this.sidebarWidth$.next(isSidebarOpen ? '150px' : '50px'); this.isSidebarOpen$.next(isSidebarOpen); } }