import { Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs'; import { UserService } from 'src/app/core/services'; import { take } from 'rxjs/operators'; @Injectable({ providedIn: 'root' }) export class AuthGuard implements CanActivate { constructor( private userService: UserService ) { } canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): Observable { return this.userService.isAuthenticated.pipe(take(1)); } }