@@ -30,6 +30,8 @@ export class VerifyComponent implements OnInit {
30
30
verifyingEmail = true ;
31
31
verifyingPhone = false ;
32
32
33
+ currentVerifyFlow : 'none' | 'email' | 'phone' = 'none' ;
34
+
33
35
needsEmail : boolean ;
34
36
needsPhone : boolean ;
35
37
@@ -62,10 +64,19 @@ export class VerifyComponent implements OnInit {
62
64
}
63
65
const queryParams = route . snapshot . queryParams ;
64
66
65
- this . needsEmail =
66
- ( account . emailNeedsVerification ( ) || queryParams . sendEmail ) &&
67
- ! queryParams . sendSms ;
68
- this . needsPhone = account . phoneNeedsVerification ( ) || queryParams . sendSms ;
67
+ this . needsEmail = account . emailNeedsVerification ( ) ;
68
+ this . needsPhone = account . phoneNeedsVerification ( ) ;
69
+
70
+ if ( ( this . needsEmail || queryParams . sendEmail ) && ! queryParams . sendSms ) {
71
+ this . currentVerifyFlow = 'email' ;
72
+ } else if (
73
+ ( this . needsPhone || queryParams . sendSms ) &&
74
+ ! queryParams . sendEmail
75
+ ) {
76
+ this . currentVerifyFlow = 'phone' ;
77
+ } else {
78
+ this . currentVerifyFlow = 'none' ;
79
+ }
69
80
70
81
this . verifyForm = fb . group ( {
71
82
token : [ queryParams . token || '' ] ,
@@ -99,12 +110,15 @@ export class VerifyComponent implements OnInit {
99
110
}
100
111
}
101
112
102
- if ( ! this . needsEmail && this . needsPhone ) {
103
- this . verifyingEmail = false ;
104
- this . verifyingPhone = true ;
105
- this . formTitle = 'Verify Phone Number' ;
106
- } else if ( ! this . needsEmail ) {
107
- this . router . navigate ( [ '/private' ] , { queryParamsHandling : 'preserve' } ) ;
113
+ switch ( this . currentVerifyFlow ) {
114
+ case 'phone' :
115
+ this . verifyingEmail = false ;
116
+ this . verifyingPhone = true ;
117
+ this . formTitle = 'Verify Phone Number' ;
118
+ break ;
119
+ case 'none' :
120
+ this . router . navigate ( [ '/private' ] , { queryParamsHandling : 'preserve' } ) ;
121
+ break ;
108
122
}
109
123
}
110
124
0 commit comments