import { Injectable } from '@angular/core';
import { 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 FullScreenGuard  { 
 
  private loginDispatched = false;
  constructor(private store: Store<appCommonReducer.State> ) { }

  setFullScreen():boolean {
    this.store.dispatch(new appCommonActions.FullScreen());
    return true;
  }

  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
    return this.setFullScreen();
  } 

  canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
    return this.setFullScreen();
  } 
}
