fix(apps): consolidate FormzInput validators and fix login screen

- Move FormzInput validators to core/form_inputs/form_inputs.dart
- Fix login_screen.dart syntax error (missing 'class' keyword)
- Remove unused _isLoading field
- Fix unnecessary const keywords
- Update login_cubit and register_cubit imports
- Remove duplicate FormzInput definitions from register_cubit
- Add Toast and Banner UI feedback system
- Remove legacy login/register screens (login_code, login_email, login_password, register_step2)
- Remove unused warning_banner widget
- Update tests for new error messages and DI setup
This commit is contained in:
qzl
2026-02-25 18:00:02 +08:00
parent d3bdb3ab4f
commit e20b1905cb
25 changed files with 542 additions and 608 deletions
@@ -1,10 +1,11 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:formz/formz.dart';
import 'package:equatable/equatable.dart';
import '../../../../core/api/api_exception.dart';
import '../../data/auth_repository.dart';
import '../../data/models/login_request.dart';
import '../../data/models/auth_response.dart';
import 'register_cubit.dart' show Email, Password;
import '../../../../core/form_inputs/form_inputs.dart';
class LoginState extends Equatable {
final Email email;
@@ -64,10 +65,11 @@ class LoginCubit extends Cubit<LoginState> {
emit(state.copyWith(status: FormzSubmissionStatus.success));
return response;
} catch (e) {
final message = e is ApiException ? e.message : e.toString();
emit(
state.copyWith(
status: FormzSubmissionStatus.failure,
errorMessage: e.toString(),
errorMessage: message,
),
);
return null;