From 3faae97c9139e8612a601b1fbbf7c730914a1a81 Mon Sep 17 00:00:00 2001 From: maxxkim Date: Thu, 21 Dec 2023 16:50:47 +0300 Subject: [PATCH] Passed registration sheet between language_select and credentials --- .../bloc/credentials_bloc.dart | 6 ++-- .../bloc/credentials_state.dart | 31 +++++++++--------- .../credentials_screen.dart | 18 +++++------ .../models/credentials_model.dart | 13 +++++--- .../language_select_screen.dart | 5 ++- .../models/language_select_model.dart | 32 ++----------------- 6 files changed, 43 insertions(+), 62 deletions(-) diff --git a/lib/presentation/credentials_screen/bloc/credentials_bloc.dart b/lib/presentation/credentials_screen/bloc/credentials_bloc.dart index fe83f536..c62211ee 100644 --- a/lib/presentation/credentials_screen/bloc/credentials_bloc.dart +++ b/lib/presentation/credentials_screen/bloc/credentials_bloc.dart @@ -16,8 +16,8 @@ class CredentialsBloc extends Bloc { Emitter emit, ) async { emit(state.copyWith( - valueController: TextEditingController(), - valueController1: TextEditingController(), - valueController2: TextEditingController())); + emailController: TextEditingController(), + passwordController: TextEditingController(), + passwordConfirmationController: TextEditingController())); } } diff --git a/lib/presentation/credentials_screen/bloc/credentials_state.dart b/lib/presentation/credentials_screen/bloc/credentials_state.dart index c59dec31..91cb6633 100644 --- a/lib/presentation/credentials_screen/bloc/credentials_state.dart +++ b/lib/presentation/credentials_screen/bloc/credentials_state.dart @@ -5,37 +5,38 @@ part of 'credentials_bloc.dart'; /// Represents the state of Credentials in the application. class CredentialsState extends Equatable { CredentialsState({ - this.valueController, - this.valueController1, - this.valueController2, + this.emailController, + this.passwordController, + this.passwordConfirmationController, this.credentialsModelObj, }); - TextEditingController? valueController; + TextEditingController? emailController; - TextEditingController? valueController1; + TextEditingController? passwordController; - TextEditingController? valueController2; + TextEditingController? passwordConfirmationController; CredentialsModel? credentialsModelObj; @override List get props => [ - valueController, - valueController1, - valueController2, + emailController, + passwordController, + passwordConfirmationController, credentialsModelObj, ]; CredentialsState copyWith({ - TextEditingController? valueController, - TextEditingController? valueController1, - TextEditingController? valueController2, + TextEditingController? emailController, + TextEditingController? passwordController, + TextEditingController? passwordConfirmationController, CredentialsModel? credentialsModelObj, }) { return CredentialsState( - valueController: valueController ?? this.valueController, - valueController1: valueController1 ?? this.valueController1, - valueController2: valueController2 ?? this.valueController2, + emailController: emailController ?? this.emailController, + passwordController: passwordController ?? this.passwordController, + passwordConfirmationController: + passwordConfirmationController ?? this.passwordConfirmationController, credentialsModelObj: credentialsModelObj ?? this.credentialsModelObj, ); } diff --git a/lib/presentation/credentials_screen/credentials_screen.dart b/lib/presentation/credentials_screen/credentials_screen.dart index 56ed8cf0..ecca2c9c 100644 --- a/lib/presentation/credentials_screen/credentials_screen.dart +++ b/lib/presentation/credentials_screen/credentials_screen.dart @@ -59,10 +59,10 @@ class _CredentialsScreenState extends State { SizedBox(height: 3.v), BlocSelector( - selector: (state) => state.valueController1, - builder: (context, valueController1) { + selector: (state) => state.passwordController, + builder: (context, passwordController) { return CustomTextFormField( - controller: valueController1, + controller: passwordController, textInputAction: TextInputAction.done); }), SizedBox(height: 19.v), @@ -70,11 +70,11 @@ class _CredentialsScreenState extends State { SizedBox(height: 5.v), BlocSelector( - selector: (state) => state.valueController2, - builder: (context, valueController2) { + selector: (state) => state.passwordConfirmationController, + builder: (context, passwordConfirmationController) { return CustomTextFormField( obscureText: true, - controller: valueController2, + controller: passwordConfirmationController, ); }), SizedBox(height: 21.v), @@ -83,11 +83,11 @@ class _CredentialsScreenState extends State { SizedBox(height: 3.v), BlocSelector( - selector: (state) => state.valueController, - builder: (context, valueController3) { + selector: (state) => state.emailController, + builder: (context, emailController3) { return CustomTextFormField( obscureText: true, - controller: valueController3, + controller: emailController3, textInputAction: TextInputAction.done); }), Spacer(), diff --git a/lib/presentation/credentials_screen/models/credentials_model.dart b/lib/presentation/credentials_screen/models/credentials_model.dart index 666a756c..ae6c3201 100644 --- a/lib/presentation/credentials_screen/models/credentials_model.dart +++ b/lib/presentation/credentials_screen/models/credentials_model.dart @@ -6,12 +6,17 @@ import 'package:eatvio_app/data/models/userRegistrationModel/user_registration_m /// This class defines the variables used in the [credentials_screen], /// and is typically used to hold data that is passed between different parts of the application. class CredentialsModel extends Equatable { - CredentialsModel() {} + UserRegistrationSheet userRegistrationSheet; - CredentialsModel copyWith() { - return CredentialsModel(); + CredentialsModel({required this.userRegistrationSheet}); + + CredentialsModel copyWith({UserRegistrationSheet? userRegistrationSheet}) { + return CredentialsModel( + userRegistrationSheet: + userRegistrationSheet ?? this.userRegistrationSheet, + ); } @override - List get props => []; + List get props => [userRegistrationSheet]; } diff --git a/lib/presentation/language_select_screen/language_select_screen.dart b/lib/presentation/language_select_screen/language_select_screen.dart index 9349ddcc..888a3c28 100644 --- a/lib/presentation/language_select_screen/language_select_screen.dart +++ b/lib/presentation/language_select_screen/language_select_screen.dart @@ -3,6 +3,7 @@ import 'models/language_select_model.dart'; import 'package:eatvio_app/core/app_export.dart'; import 'package:eatvio_app/widgets/custom_drop_down.dart'; import 'package:eatvio_app/widgets/custom_outlined_button.dart'; +import 'package:eatvio_app/presentation/credentials_screen/models/credentials_model.dart'; import 'package:flutter/material.dart'; class LanguageSelectScreen extends StatelessWidget { @@ -92,9 +93,11 @@ class LanguageSelectScreen extends StatelessWidget { /// Navigates to the genderScreen when the action is triggered. navigteToCredentials(BuildContext context) { LanguageSelectModel languageSelectModel = LanguageSelectModel(); + CredentialsModel credentialsModel = CredentialsModel( + userRegistrationSheet: languageSelectModel.userRegistrationSheet); NavigatorService.pushNamed( AppRoutes.credentialsScreen, - arguments: languageSelectModel.userRegistrationSheet, + arguments: credentialsModel, ); } } diff --git a/lib/presentation/language_select_screen/models/language_select_model.dart b/lib/presentation/language_select_screen/models/language_select_model.dart index c19faa3f..9431c5ef 100644 --- a/lib/presentation/language_select_screen/models/language_select_model.dart +++ b/lib/presentation/language_select_screen/models/language_select_model.dart @@ -1,43 +1,15 @@ // ignore_for_file: must_be_immutable import 'package:equatable/equatable.dart'; -import 'package:eatvio_app/data/models/userRegistrationModel/user_registration_model.dart'; import 'package:eatvio_app/data/models/selectionPopupModel/selection_popup_model.dart'; +import '../../userRegistrationSheet.dart'; /// This class defines the variables used in the [language_select_screen], /// and is typically used to hold data that is passed between different parts of the application. class LanguageSelectModel extends Equatable { LanguageSelectModel({this.dropdownItemList = const []}) {} - UserRegistrationSheet userRegistrationSheet = UserRegistrationSheet( - firstName: '', - lastName: '', - email: '', - password: '', - passwordConfirmation: '', - termsAccepted: false, - birthdate: DateTime.now(), - gender: '', - country: '', - city: '', - lang: '', - weight: 0, - height: 0, - chestCircumference: 0, - waistCircumference: 0, - hipCircumference: 0, - bloodPressureUp: 0, - bloodPressureDown: 0, - hasHypo: false, - hasHyper: false, - aboutAllergy: '', - aboutTakingPils: '', - aboutSportHobbies: '', - favoriteFoods: '', - unfavoriteFoods: '', - additionalInfo: '', - ); - List dropdownItemList; + List dropdownItemList; LanguageSelectModel copyWith({List? dropdownItemList}) { return LanguageSelectModel( dropdownItemList: dropdownItemList ?? this.dropdownItemList,