oggui/ogWebconsole/src/app/layout/sidebar/sidebar.component.ts

48 lines
1.3 KiB
TypeScript

import { Component, Input } from '@angular/core';
import { jwtDecode } from 'jwt-decode';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-sidebar',
templateUrl: './sidebar.component.html',
styleUrl: './sidebar.component.css'
})
export class SidebarComponent {
@Input() isVisible: boolean = false;
isSuperAdmin: boolean = false;
username: string = "";
decodedToken: any = "";
showOgBootSub: boolean = false;
showOgDhcpSub: boolean = false;
showCommandSub: boolean = false;
showSoftwareSub: boolean = false;
toggleOgBootSub() {
this.showOgBootSub = !this.showOgBootSub;
}
toggleOgDhcpSub() {
this.showOgDhcpSub = !this.showOgDhcpSub;
}
toggleCommandSub() {
this.showCommandSub = !this.showCommandSub;
}
toggleSoftwareSub() {
this.showSoftwareSub = !this.showSoftwareSub;
}
constructor(public dialog: MatDialog) {}
ngOnInit(): void {
const token = localStorage.getItem('loginToken');
if (token) {
try {
this.decodedToken = jwtDecode(token);
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
this.username = this.decodedToken.username;
} catch (error) {
console.error('Error decoding JWT:', error);
}
}
}
}