import { Injectable } from '@angular/core'; import { CanLoad, Route, CanActivate, CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { Store } from '@ngrx/store'; import * as appCommonReducer from '../reducers/app-common.reducer' import * as appCommonActions from '../actions/app-common.actions'; @Injectable({ providedIn: 'root', }) export class NavBarGuard implements CanActivate { private loginDispatched = false; constructor(private store: Store) { } setNavBar():boolean { this.store.dispatch(new appCommonActions.ShowNavBar()); return true; } canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { return this.setNavBar(); } canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { return this.setNavBar(); } }