Skip to content
Snippets Groups Projects
app.component.ts 1.12 KiB
Newer Older
  • Learn to ignore specific revisions
  • François Agneray's avatar
    François Agneray committed
    import { Component, ViewEncapsulation, OnInit } from '@angular/core';
    
    import { Store } from '@ngrx/store';
    import { Observable } from 'rxjs';
    
    import { LoginToken } from '../../login/store/model';
    import * as loginActions from '../../login/store/login.action';
    import * as loginReducer from '../../login/store/login.reducer';
    import * as loginSelector from '../../login/store/login.selector';
    
    @Component({
        selector: 'app-root',
        templateUrl: './app.component.html',
        styleUrls: [ './app.component.css' ],
        encapsulation: ViewEncapsulation.None
    })
    export class AppComponent implements OnInit {
    
    François Agneray's avatar
    François Agneray committed
        public year = (new Date()).getFullYear();
    
    François Agneray's avatar
    François Agneray committed
        public isAuthenticated: Observable<boolean>;
        public loginToken: Observable<LoginToken>;
    
        constructor(private store: Store<loginReducer.State>) {
            this.isAuthenticated = store.select(loginSelector.isAuthenticated);
            this.loginToken = store.select(loginSelector.getLoginToken);
        }
    
        ngOnInit() {
            this.store.dispatch(new loginActions.LoginLocalStorageAction());
        }
    
        logout() {
            this.store.dispatch(new loginActions.LogoutAction());
        }
    }