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, ),