resendEmail method
Resends a ConfirmationCode to the specified email.
Implementation
Future<void> resendEmail() async {
_setResendEmailTimer();
try {
switch (stage.value) {
case LoginViewStage.signInWithEmailCode:
final UserLogin? userLogin = UserLogin.tryParse(identifier.text);
final UserNum? userNum = UserNum.tryParse(identifier.text);
final UserEmail? userEmail = UserEmail.tryParse(identifier.text);
final UserPhone? userPhone = UserPhone.tryParse(identifier.text);
if (userLogin != null ||
userNum != null ||
userEmail != null ||
userPhone != null) {
await _authService.createConfirmationCode(
email: userEmail,
login: userLogin,
num: userNum,
phone: userPhone,
);
}
break;
default:
await _authService.createConfirmationCode(
email: UserEmail(email.text),
);
break;
}
} on AddUserEmailException catch (e) {
emailCode.error.value = e.toMessage();
} catch (e) {
emailCode.resubmitOnError.value = true;
emailCode.error.value = 'err_data_transfer'.l10n;
_setResendEmailTimer(false);
rethrow;
}
}