allfree-angular-frontend / src / app / header / header.component.ts
header.component.ts
Raw
import {Component, OnInit} from '@angular/core';
import {TokenStorageService} from '../_services/jwt-service/token-storage.service';
import {Router} from '@angular/router';

@Component({
  selector: 'app-header',
  templateUrl: './header.component.html',
  styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
  private roles: string[];
  isLoggedIn = false;
  showAdminBoard = false;
  username: string;

  // landingTitle: string;
  constructor(private tokenStorageService: TokenStorageService,
              private router: Router) {
  }

  ngOnInit(): void {
    this.isLoggedIn = !!this.tokenStorageService.getToken();
    if (this.isLoggedIn) {
      const user = this.tokenStorageService.getUser().userDetails;
      this.roles = user.roles;
      // @ts-ignore
      this.showAdminBoard = this.roles.map(role => role.name).includes('ROLE_ADMIN');
      this.username = user.username;
      console.log("user",user);
      // console.log(this.showAdminBoard);
    }
  }

  logout(): void {
    this.router.navigate(['login']);
    this.tokenStorageService.signOut();
    // window.location.reload();
  }

}