import { Component } from '@angular/core'; import { NavigationEnd, Router } from '@angular/router'; import { TokenStorageService } from './Services/token.service'; import { filter } from 'rxjs/operators'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'], }) export class AppComponent { /** * Application title. */ title = 'Aktienbot'; showHeader = false; isLoggedIn = false; /** * Router import to show router-outlet. * * @param router Router */ constructor( private router: Router, private tokenStorage: TokenStorageService ) { this.router.events .pipe(filter((event) => event instanceof NavigationEnd)) .subscribe((event) => { this.showHeader = !( (event as NavigationEnd).url === '/login' || (event as NavigationEnd).url === '/register' ); if (this.tokenStorage.getToken()) { this.isLoggedIn = true; } else { this.isLoggedIn = false; } if ( this.isLoggedIn === false && (event as NavigationEnd).url != '/register' ) { this.router.navigate(['/login']); } }); } }