import { inject } from '@angular/core'; import { CanActivateFn, Router } from '@angular/router'; import { jwtDecode } from 'jwt-decode'; export const authGuard: CanActivateFn = (route, state) => { const router = inject(Router); const accessToken = localStorage.getItem('access_token'); if (accessToken) { try { const decodedToken: any = jwtDecode(accessToken); const currentTime = Date.now() / 1000; if (decodedToken.exp < currentTime) { // Token expired localStorage.removeItem('access_token'); router.navigate(['/login']); return false; } return true; } catch (error) { // Error decoding token localStorage.removeItem('access_token'); router.navigate(['/login']); return false; } } else { router.navigate(['/login']); return false; } };