fix(auth): allow immediate resend on first send failure

This commit is contained in:
qzl
2026-02-26 11:31:35 +08:00
parent a6fbf70ad5
commit b80b9e795d
@@ -46,12 +46,12 @@ class RegisterVerificationView extends StatefulWidget {
class _RegisterVerificationViewState extends State<RegisterVerificationView> {
final _codeController = TextEditingController();
Timer? _countdownTimer;
int _countdown = 60;
int _countdown = 0;
bool _firstSendCompleted = false;
@override
void initState() {
super.initState();
_startCountdown();
}
@override
@@ -179,6 +179,19 @@ class _RegisterVerificationViewState extends State<RegisterVerificationView> {
if (state.status == FormzSubmissionStatus.failure &&
state.errorMessage != null) {
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) {