From deba6cc435f3d95b568766f1adf75369171fc116 Mon Sep 17 00:00:00 2001 From: qzl Date: Thu, 26 Feb 2026 10:52:44 +0800 Subject: [PATCH] fix(auth): add navigation debounce for register next button --- apps/lib/features/auth/ui/screens/register_screen.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/lib/features/auth/ui/screens/register_screen.dart b/apps/lib/features/auth/ui/screens/register_screen.dart index f83314d..3af8e76 100644 --- a/apps/lib/features/auth/ui/screens/register_screen.dart +++ b/apps/lib/features/auth/ui/screens/register_screen.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:formz/formz.dart'; @@ -49,7 +51,7 @@ class _RegisterViewState extends State { cubit.emailChanged(_emailController.text); cubit.passwordChanged(_passwordController.text); - if (!cubit.state.isStep1Valid) { + if (!cubit.state.isStep1Valid || cubit.state.isSending) { return; } @@ -57,7 +59,7 @@ class _RegisterViewState extends State { context.push('/register/verification', extra: cubit); } - cubit.sendCodeSilently(); + unawaited(cubit.sendCodeSilently()); } @override @@ -157,7 +159,9 @@ class _RegisterViewState extends State { const SizedBox(height: 12), AppButton( text: '下一步', - onPressed: state.status == FormzSubmissionStatus.inProgress + onPressed: + state.status == FormzSubmissionStatus.inProgress || + state.isSending ? null : _handleNext, ),