Improved sidebar #130
This commit is contained in:
@@ -29,8 +29,11 @@ export class SidebarService {
|
||||
this.setMenu();
|
||||
});
|
||||
|
||||
this.translateService.onLangChange.subscribe(_ => {
|
||||
this.setMenu();
|
||||
});
|
||||
|
||||
this.server$.subscribe(value => {
|
||||
this.server$.subscribe(_ => {
|
||||
this.setMenu();
|
||||
});
|
||||
|
||||
@@ -38,13 +41,18 @@ export class SidebarService {
|
||||
if (!(event instanceof NavigationEnd)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!event.url.startsWith('/server/')) {
|
||||
this.server$.next(null);
|
||||
if (!event.url.startsWith("/server/") && this.server$.value) {
|
||||
this.setServer(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setServer(server: Server | null) {
|
||||
if (server?.id != this.server$.value?.id) {
|
||||
this.server$.next(server);
|
||||
}
|
||||
}
|
||||
|
||||
setMenu() {
|
||||
this.authService.hasUserPermission(AuthRoles.Admin).then(async hasPermission => {
|
||||
let menuItems: MenuItem[] = [
|
||||
@@ -53,7 +61,8 @@ export class SidebarService {
|
||||
|
||||
const serverMenu = {
|
||||
label: this.isSidebarOpen ? this.server$.value?.name : "", icon: "pi pi-server", items: [
|
||||
{ label: this.isSidebarOpen ? this.translateService.instant("sidebar.profile") : "", icon: "pi pi-user", routerLink: `server/${this.server$.value?.id}/profile` },
|
||||
{ label: this.isSidebarOpen ? this.translateService.instant("sidebar.server.dashboard") : "", icon: "pi pi-th-large", routerLink: `server/${this.server$.value?.id}` },
|
||||
{ label: this.isSidebarOpen ? this.translateService.instant("sidebar.server.profile") : "", icon: "pi pi-user", routerLink: `server/${this.server$.value?.id}/profile` }
|
||||
// { label: this.isSidebarOpen ? this.translateService.instant("sidebar.members") : "", icon: "pi pi-users", routerLink: "server/members" }
|
||||
]
|
||||
};
|
||||
@@ -63,7 +72,7 @@ export class SidebarService {
|
||||
|
||||
if (user?.isAdmin) {
|
||||
serverMenu.items.push(
|
||||
{ label: this.isSidebarOpen ? this.translateService.instant("sidebar.members") : "", icon: "pi pi-users", routerLink: `server/${this.server$.value?.id}/members` }
|
||||
{ label: this.isSidebarOpen ? this.translateService.instant("sidebar.server.members") : "", icon: "pi pi-users", routerLink: `server/${this.server$.value?.id}/members` }
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user