fix(auth): allow immediate resend on first send failure
This commit is contained in:
@@ -46,12 +46,12 @@ class RegisterVerificationView extends StatefulWidget {
|
|||||||
class _RegisterVerificationViewState extends State<RegisterVerificationView> {
|
class _RegisterVerificationViewState extends State<RegisterVerificationView> {
|
||||||
final _codeController = TextEditingController();
|
final _codeController = TextEditingController();
|
||||||
Timer? _countdownTimer;
|
Timer? _countdownTimer;
|
||||||
int _countdown = 60;
|
int _countdown = 0;
|
||||||
|
bool _firstSendCompleted = false;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_startCountdown();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -179,6 +179,19 @@ class _RegisterVerificationViewState extends State<RegisterVerificationView> {
|
|||||||
if (state.status == FormzSubmissionStatus.failure &&
|
if (state.status == FormzSubmissionStatus.failure &&
|
||||||
state.errorMessage != null) {
|
state.errorMessage != null) {
|
||||||
Toast.show(context, state.errorMessage!, type: ToastType.error);
|
Toast.show(context, state.errorMessage!, type: ToastType.error);
|
||||||
|
|
||||||
|
if (!_firstSendCompleted) {
|
||||||
|
_firstSendCompleted = true;
|
||||||
|
setState(() {
|
||||||
|
_countdown = 0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state.status == FormzSubmissionStatus.success &&
|
||||||
|
!_firstSendCompleted) {
|
||||||
|
_firstSendCompleted = true;
|
||||||
|
_startCountdown();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
|
|||||||
Reference in New Issue
Block a user