import { Injectable } from '@angular/core'; import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router, } from '@angular/router'; import { Observable } from 'rxjs'; import { AuthService } from './services/auth.service'; @Injectable({ providedIn: 'root', }) export class AuthGuard implements CanActivate { constructor( private authService: AuthService, private router: Router ) {} canActivate( next: ActivatedRouteSnapshot, state: RouterStateSnapshot ): | Observable | Promise | boolean | UrlTree { const isAuthenticated = this.authService.isAuthenticated(); if (isAuthenticated) { return true; } else { this.router.navigate(['/login']); return false; } } }