import { Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, RouterStateSnapshot, Router, CanActivate, } from '@angular/router'; import type { Observable } from 'rxjs'; @Injectable({ providedIn: 'root', }) export class AuthGuard implements CanActivate { constructor(private router: Router) {} canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): Observable | Promise | boolean { if (this.isLoggedIn()) { return true; } this.router.navigate(['/auth']); return false; } public isLoggedIn(): boolean { let status = false; if (localStorage.getItem('isLoggedIn') === 'true') { status = true; } else { status = false; } return status; } }