import { Injectable } from '@angular/core';
import { Route, 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  {

  private loginDispatched = false;
  constructor(private store: Store<appCommonReducer.State>) { }

  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();
  } 
}
