47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import {Component} from '@angular/core';
|
|
import {AuthenticationService, FormsService, ListsService} from "@app/_services";
|
|
import {Subscription} from "rxjs";
|
|
|
|
@Component({
|
|
templateUrl: 'user-profile.component.html',
|
|
styleUrls: ['user-profile.component.scss']
|
|
})
|
|
export class UserProfileComponent {
|
|
public user: any;
|
|
inited = false;
|
|
userSubscription: Subscription;
|
|
controlsSubscription: Subscription;
|
|
|
|
constructor(private listsService: ListsService, private formsService: FormsService, private authService: AuthenticationService) {
|
|
this.userSubscription = this.authService.user.subscribe(user => {
|
|
this.user = user;
|
|
});
|
|
}
|
|
|
|
get avatar() {
|
|
return this.user?.avatar?.data;
|
|
}
|
|
|
|
ngOnInit() {
|
|
this.controlsSubscription = this.listsService.controls().subscribe(res => {
|
|
this.inited ? this.authService.checkUser() : this.inited = true;
|
|
});
|
|
}
|
|
|
|
ngOnDestroy() {
|
|
this.userSubscription?.unsubscribe();
|
|
this.controlsSubscription?.unsubscribe();
|
|
}
|
|
|
|
|
|
|
|
editProfile() {
|
|
this.formsService.editModel('userProfile', this.user.id);
|
|
}
|
|
|
|
changePassword() {
|
|
this.formsService.editModel('userPassword', this.user.id);
|
|
}
|
|
|
|
}
|