import {Injectable} from '@angular/core'; import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router'; import {Observable, of} from 'rxjs'; import {AuthenticationService} from '../../shared/services'; @Injectable({ providedIn: 'root' }) export class NotAuthenticationGuard implements CanActivate { constructor( private router: Router, private authenticationService: AuthenticationService, ) { } canActivate( next: ActivatedRouteSnapshot, state: RouterStateSnapshot ): | Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { if (!this.authenticationService.isAuthenticated) { return of(true); } this.router.navigate(['/']).then(); return of(true); } }