import { Injectable } from "@angular/core"; import { Router } from "@angular/router"; import { StateService } from "@/jslib/common/src/abstractions/state.service"; import { VaultTimeoutService } from "@/jslib/common/src/abstractions/vaultTimeout.service"; @Injectable() export class UnauthGuardService { protected homepage = "vault"; constructor( private vaultTimeoutService: VaultTimeoutService, private router: Router, private stateService: StateService, ) {} async canActivate() { const isAuthed = await this.stateService.getIsAuthenticated(); if (isAuthed) { const locked = await this.vaultTimeoutService.isLocked(); if (locked) { this.router.navigate(["lock"]); } else { this.router.navigate([this.homepage]); } return false; } return true; } }