123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { Component, OnInit } from '@angular/core';
- import { ComponentBase } from '@core/base/common-base';
- import { AuthService } from '@core/services/authentication/auth.service';
- import { ADD_PROFILE } from '@core/state/profile/profile.actions';
- import { takeUntil } from 'rxjs';
- import { Store } from '@ngrx/store';
- import { USER } from '@core/models/authenticcation.model';
- @Component({
- selector: 'app-root',
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.scss'],
- })
- export class AppComponent extends ComponentBase implements OnInit {
- title = 'mt-works';
- constructor(
- private readonly authService: AuthService,
- private readonly store: Store<{ user: { profile: USER } }>
- ) {
- super();
- }
- ngOnInit(): void {
- if (this.authService.isAuthenticated()) {
- this.getProfile();
- }
- }
- getProfile(): void {
- this.authService
- .getUserData()
- .pipe(takeUntil(this.destroy$))
- .subscribe((res) => {
- this.store.dispatch(
- ADD_PROFILE({
- user: { userName: res.userName, email: res.email },
- })
- );
- });
- }
- }
|