email property
latefinal
TextFieldState for an UserEmail text input.
Implementation
late final TextFieldState email = TextFieldState(
onFocus: (s) {},
onSubmitted: (s) async {
final UserEmail? email = UserEmail.tryParse(s.text.toLowerCase());
final UserLogin? login = UserLogin.tryParse(s.text.toLowerCase());
final UserNum? userNum = UserNum.tryParse(s.text.toLowerCase());
emailCode.clear();
final IntroductionStage? previous = page.value;
page.value = switch (page.value) {
IntroductionStage.signInWithEmail =>
IntroductionStage.signInWithEmailCode,
(_) => IntroductionStage.signIn,
};
try {
_setResendEmailTimer();
// Simulate like everything's alright despite not sending anything.
if (login != null || userNum != null || email != null) {
await _authService.createConfirmationCode(
email: email,
login: login,
num: userNum,
);
}
s.unsubmit();
} on AddUserEmailException catch (e) {
s.error.value = e.toMessage();
_setResendEmailTimer(false);
page.value = previous;
} catch (_) {
s.resubmitOnError.value = true;
s.error.value = 'err_data_transfer'.l10n;
_setResendEmailTimer(false);
s.unsubmit();
page.value = previous;
rethrow;
}
},
);