74 lines
1.9 KiB
TypeScript
74 lines
1.9 KiB
TypeScript
|
import {AfterContentInit, Component, OnInit} from '@angular/core';
|
||
|
import { ActivatedRoute, Router } from '@angular/router';
|
||
|
import { Store, select } from '@ngrx/store';
|
||
|
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
|
||
|
|
||
|
import * as TotpStore from 'packages/member/store/totp';
|
||
|
import { AuthSelector } from 'packages/member/store';
|
||
|
import { Member } from 'packages/member/model/Member';
|
||
|
|
||
|
@Component({
|
||
|
selector: 'of-settings-totp',
|
||
|
templateUrl: './totp.component.html',
|
||
|
styleUrls: ['./totp.component.scss']
|
||
|
})
|
||
|
export class TotpComponent implements OnInit, AfterContentInit {
|
||
|
member: Member;
|
||
|
selectedItem: any;
|
||
|
totpSettingDisplay = false;
|
||
|
totpForm: FormGroup;
|
||
|
headerItem: string;
|
||
|
|
||
|
formErrors = {
|
||
|
'code': '',
|
||
|
};
|
||
|
|
||
|
lists = [];
|
||
|
|
||
|
constructor(private activatedRoute: ActivatedRoute,
|
||
|
private router: Router,
|
||
|
private store: Store<TotpStore.State>,
|
||
|
private formBuilder: FormBuilder,
|
||
|
) { }
|
||
|
|
||
|
ngOnInit() {
|
||
|
this.totpForm = this.formBuilder.group({
|
||
|
'code': [
|
||
|
[
|
||
|
]
|
||
|
]
|
||
|
});
|
||
|
}
|
||
|
|
||
|
ngAfterContentInit() {
|
||
|
|
||
|
this.store.select(AuthSelector.select('member')).subscribe(
|
||
|
(member: Member) => {
|
||
|
this.member = member;
|
||
|
this.lists = [
|
||
|
{id: 1, name: 'Email', value: this.member.email, description: 'blabla', },
|
||
|
{id: 2, name: 'Phone', value: this.member.phone, description: 'blabla', },
|
||
|
{id: 3, name: 'Google 2factor', value: this.member.totpType, description: 'blabla', },
|
||
|
];
|
||
|
},
|
||
|
(error) => {
|
||
|
console.log(error);
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
|
||
|
on2factorConfig(event: Event, item: any) {
|
||
|
this.selectedItem = item;
|
||
|
|
||
|
// server totp regist member info modify
|
||
|
if (this.selectedItem.id === 3) {
|
||
|
this.headerItem = '구글 인증기 설정하기';
|
||
|
this.totpSettingDisplay = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
onTotpSettingClose() {
|
||
|
this.totpSettingDisplay = false;
|
||
|
}
|
||
|
}
|