|  |  |  | import 'package:easy_localization/easy_localization.dart'; | 
					
						
							|  |  |  | import 'package:flutter/material.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/app_assets.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/app_state.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/common_models/nationality_country_model.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/dependencies.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/enums.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/utils/size_utils.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/core/utils/validation_utils.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/extensions/string_extensions.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/extensions/widget_extensions.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/features/authentication/authentication_view_model.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/theme/colors.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/widgets/appbar/app_bar_widget.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/widgets/bottomsheet/generic_bottom_sheet.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/widgets/dropdown/dropdown_widget.dart'; | 
					
						
							|  |  |  | import 'package:hmg_patient_app_new/widgets/input_widget.dart'; | 
					
						
							|  |  |  | import 'package:provider/provider.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RegisterNewStep2 extends StatefulWidget { | 
					
						
							|  |  |  |   RegisterNewStep2({Key? key}) : super(key: key); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   _RegisterNew createState() => _RegisterNew(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class _RegisterNew extends State<RegisterNewStep2> { | 
					
						
							|  |  |  |   AuthenticationViewModel? authVM; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   void initState() { | 
					
						
							|  |  |  |     super.initState(); | 
					
						
							|  |  |  |     authVM = context.read<AuthenticationViewModel>(); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   void dispose() { | 
					
						
							|  |  |  |     super.dispose(); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   Widget build(BuildContext context) { | 
					
						
							|  |  |  |     AppState appState = getIt.get<AppState>(); | 
					
						
							|  |  |  |     var name = authVM!.isUserFromUAE() | 
					
						
							|  |  |  |         ? "" | 
					
						
							|  |  |  |         : appState.getLanguageCode() == "en" | 
					
						
							|  |  |  |             ? ("${appState.getNHICUserData.firstNameEn!.toUpperCase()} ${appState.getNHICUserData.lastNameEn!.toUpperCase()}") | 
					
						
							|  |  |  |             : ("${appState.getNHICUserData.firstNameAr!.toUpperCase()} ${appState.getNHICUserData.lastNameAr!.toUpperCase()}"); | 
					
						
							|  |  |  |     return Scaffold( | 
					
						
							|  |  |  |       backgroundColor: AppColors.bgScaffoldColor, | 
					
						
							|  |  |  |       appBar: CustomAppBar( | 
					
						
							|  |  |  |         onBackPressed: () { | 
					
						
							|  |  |  |           Navigator.of(context).pop(); | 
					
						
							|  |  |  |           // authVM!.clearDefaultInputValues();
 | 
					
						
							|  |  |  |           authVM!.clearEmailInput(); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         onLanguageChanged: (lang) {}, | 
					
						
							|  |  |  |         hideLogoAndLang: true, | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |       body: GestureDetector( | 
					
						
							|  |  |  |         onTap: () { | 
					
						
							|  |  |  |           FocusScope.of(context).unfocus(); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         behavior: HitTestBehavior.translucent, // Ensures taps on empty space are detected
 | 
					
						
							|  |  |  |         child: SizedBox( | 
					
						
							|  |  |  |           width: double.infinity, | 
					
						
							|  |  |  |           height: double.infinity, | 
					
						
							|  |  |  |           child: SingleChildScrollView( | 
					
						
							|  |  |  |             reverse: false, | 
					
						
							|  |  |  |             padding: EdgeInsets.only(left: 24.w, right: 24.w, top: 0.h), | 
					
						
							|  |  |  |             child: Column( | 
					
						
							|  |  |  |               crossAxisAlignment: CrossAxisAlignment.start, | 
					
						
							|  |  |  |               children: <Widget>[ | 
					
						
							|  |  |  |                 LocaleKeys.personalDetailsVerification.tr().toText26(color: AppColors.textColor, weight: FontWeight.w600, letterSpacing: -2), | 
					
						
							|  |  |  |                 SizedBox(height: 24.h), | 
					
						
							|  |  |  |                 Container( | 
					
						
							|  |  |  |                   decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(24)), | 
					
						
							|  |  |  |                   padding: EdgeInsets.only(left: 16.h, right: 16.h), | 
					
						
							|  |  |  |                   child: Column( | 
					
						
							|  |  |  |                     children: [ | 
					
						
							|  |  |  |                       TextInputWidget( | 
					
						
							|  |  |  |                         labelText: authVM!.isUserFromUAE() ? LocaleKeys.fullName.tr() : LocaleKeys.name.tr(), | 
					
						
							|  |  |  |                         hintText: authVM!.isUserFromUAE() ? LocaleKeys.enterNameHere.tr() : (name), | 
					
						
							|  |  |  |                         controller: authVM!.isUserFromUAE() ? authVM!.nameController : null, | 
					
						
							|  |  |  |                         isEnable: true, | 
					
						
							|  |  |  |                         prefix: null, | 
					
						
							|  |  |  |                         isAllowRadius: false, | 
					
						
							|  |  |  |                         isBorderAllowed: false, | 
					
						
							|  |  |  |                         keyboardType: TextInputType.text, | 
					
						
							|  |  |  |                         // textInputAction: TextInputAction.done,
 | 
					
						
							|  |  |  |                         onSubmitted: (value) { | 
					
						
							|  |  |  |                           FocusScope.of(context).unfocus(); | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                         isReadOnly: authVM!.isUserFromUAE() ? false : true, | 
					
						
							|  |  |  |                         leadingIcon: AppAssets.user_circle, | 
					
						
							|  |  |  |                         labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                       ).paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                       Divider(height: 1.h, color: AppColors.greyColor), | 
					
						
							|  |  |  |                       TextInputWidget( | 
					
						
							|  |  |  |                               labelText: LocaleKeys.nationalIdNumber.tr(), | 
					
						
							|  |  |  |                               hintText: authVM!.isUserFromUAE() ? appState.getUserRegistrationPayload.patientIdentificationId.toString() : (appState.getNHICUserData.idNumber ?? ""), | 
					
						
							|  |  |  |                               controller: null, | 
					
						
							|  |  |  |                               isEnable: true, | 
					
						
							|  |  |  |                               prefix: null, | 
					
						
							|  |  |  |                               isAllowRadius: false, | 
					
						
							|  |  |  |                               isBorderAllowed: false, | 
					
						
							|  |  |  |                               isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                               isReadOnly: true, | 
					
						
							|  |  |  |                               labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                               leadingIcon: AppAssets.student_card) | 
					
						
							|  |  |  |                           .paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                       Divider(height: 1, color: AppColors.greyColor), | 
					
						
							|  |  |  |                       authVM!.isUserFromUAE() | 
					
						
							|  |  |  |                           ? Selector<AuthenticationViewModel, GenderTypeEnum?>( | 
					
						
							|  |  |  |                               selector: (_, authViewModel) => authViewModel.genderType, | 
					
						
							|  |  |  |                               shouldRebuild: (previous, next) => previous != next, | 
					
						
							|  |  |  |                               builder: (context, genderType, child) { | 
					
						
							|  |  |  |                                 final authVM = context.read<AuthenticationViewModel>(); | 
					
						
							|  |  |  |                                 return DropdownWidget( | 
					
						
							|  |  |  |                                   labelText: LocaleKeys.gender.tr(), | 
					
						
							|  |  |  |                                   hintText: LocaleKeys.malE.tr(), | 
					
						
							|  |  |  |                                   isEnable: true, | 
					
						
							|  |  |  |                                   dropdownItems: GenderTypeEnum.values.map((e) => appState.isArabic() ? e.typeAr : e.type).toList(), | 
					
						
							|  |  |  |                                   selectedValue: genderType != null ? (appState.isArabic() ? genderType.typeAr : genderType.type) : "", | 
					
						
							|  |  |  |                                   onChange: authVM.onGenderChange, | 
					
						
							|  |  |  |                                   isBorderAllowed: false, | 
					
						
							|  |  |  |                                   hasSelectionCustomIcon: true, | 
					
						
							|  |  |  |                                   isAllowRadius: false, | 
					
						
							|  |  |  |                                   labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                                   padding: EdgeInsets.only(top: 8.h, bottom: 8.h, left: 0, right: 0), | 
					
						
							|  |  |  |                                   selectionCustomIcon: AppAssets.arrow_down, | 
					
						
							|  |  |  |                                   leadingIcon: AppAssets.user_full, | 
					
						
							|  |  |  |                                 ).withVerticalPadding(8); | 
					
						
							|  |  |  |                               }) | 
					
						
							|  |  |  |                           : TextInputWidget( | 
					
						
							|  |  |  |                                   labelText: LocaleKeys.gender.tr(), | 
					
						
							|  |  |  |                                   hintText: (appState.getNHICUserData.gender ?? ""), | 
					
						
							|  |  |  |                                   controller: null, | 
					
						
							|  |  |  |                                   isEnable: true, | 
					
						
							|  |  |  |                                   prefix: null, | 
					
						
							|  |  |  |                                   isAllowRadius: false, | 
					
						
							|  |  |  |                                   isBorderAllowed: false, | 
					
						
							|  |  |  |                                   isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                                   isReadOnly: authVM!.isUserFromUAE() ? false : true, | 
					
						
							|  |  |  |                                   leadingIcon: AppAssets.user_full, | 
					
						
							|  |  |  |                                   labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                                   onChange: (value) {}) | 
					
						
							|  |  |  |                               .paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                       Divider(height: 1, color: AppColors.greyColor), | 
					
						
							|  |  |  |                       authVM!.isUserFromUAE() | 
					
						
							|  |  |  |                           ? Selector<AuthenticationViewModel, MaritalStatusTypeEnum?>( | 
					
						
							|  |  |  |                               selector: (_, authViewModel) => authViewModel.maritalStatus, | 
					
						
							|  |  |  |                               shouldRebuild: (previous, next) => previous != next, | 
					
						
							|  |  |  |                               builder: (context, maritalStatus, child) { | 
					
						
							|  |  |  |                                 final authVM = context.read<AuthenticationViewModel>(); // For onChange
 | 
					
						
							|  |  |  |                                 return DropdownWidget( | 
					
						
							|  |  |  |                                   labelText: LocaleKeys.maritalStatus.tr(), | 
					
						
							|  |  |  |                                   hintText: LocaleKeys.married.tr(), | 
					
						
							|  |  |  |                                   isEnable: true, | 
					
						
							|  |  |  |                                   dropdownItems: MaritalStatusTypeEnum.values.map((e) => appState.isArabic() ? e.typeAr : e.type).toList(), | 
					
						
							|  |  |  |                                   selectedValue: maritalStatus != null ? (appState.isArabic() ? maritalStatus.typeAr : maritalStatus.type) : "", | 
					
						
							|  |  |  |                                   onChange: authVM.onMaritalStatusChange, | 
					
						
							|  |  |  |                                   isBorderAllowed: false, | 
					
						
							|  |  |  |                                   hasSelectionCustomIcon: true, | 
					
						
							|  |  |  |                                   isAllowRadius: false, | 
					
						
							|  |  |  |                                   labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                                   padding: EdgeInsets.only(top: 8.h, bottom: 8.h, left: 0, right: 0), | 
					
						
							|  |  |  |                                   selectionCustomIcon: AppAssets.arrow_down, | 
					
						
							|  |  |  |                                   leadingIcon: AppAssets.smart_phone, | 
					
						
							|  |  |  |                                 ).withVerticalPadding(8); | 
					
						
							|  |  |  |                               }, | 
					
						
							|  |  |  |                             ) | 
					
						
							|  |  |  |                           : TextInputWidget( | 
					
						
							|  |  |  |                                   labelText: LocaleKeys.maritalStatus.tr(), | 
					
						
							|  |  |  |                                   hintText: appState.isArabic() | 
					
						
							|  |  |  |                                       ? (MaritalStatusTypeExtension.fromValue(appState.getNHICUserData.maritalStatusCode)!.typeAr) | 
					
						
							|  |  |  |                                       : (MaritalStatusTypeExtension.fromValue(appState.getNHICUserData.maritalStatusCode)!.type), | 
					
						
							|  |  |  |                                   isEnable: true, | 
					
						
							|  |  |  |                                   prefix: null, | 
					
						
							|  |  |  |                                   isAllowRadius: false, | 
					
						
							|  |  |  |                                   isBorderAllowed: false, | 
					
						
							|  |  |  |                                   isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                                   isReadOnly: true, | 
					
						
							|  |  |  |                                   labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                                   leadingIcon: AppAssets.smart_phone, | 
					
						
							|  |  |  |                                   onChange: (value) {}) | 
					
						
							|  |  |  |                               .paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                       Divider(height: 1.h, color: AppColors.greyColor), | 
					
						
							|  |  |  |                       authVM!.isUserFromUAE() | 
					
						
							|  |  |  |                           ? Selector<AuthenticationViewModel, ({List<NationalityCountries>? countriesList, NationalityCountries? selectedCountry, bool isArabic})>( | 
					
						
							|  |  |  |                               selector: (context, authViewModel) { | 
					
						
							|  |  |  |                                 final appState = getIt.get<AppState>(); | 
					
						
							|  |  |  |                                 return ( | 
					
						
							|  |  |  |                                   countriesList: authViewModel.countriesList, | 
					
						
							|  |  |  |                                   selectedCountry: authViewModel.pickedCountryByUAEUser, | 
					
						
							|  |  |  |                                   isArabic: appState.isArabic(), | 
					
						
							|  |  |  |                                 ); | 
					
						
							|  |  |  |                               }, | 
					
						
							|  |  |  |                               shouldRebuild: (previous, next) => previous.countriesList != next.countriesList || previous.selectedCountry != next.selectedCountry || previous.isArabic != next.isArabic, | 
					
						
							|  |  |  |                               builder: (context, data, child) { | 
					
						
							|  |  |  |                                 final authVM = context.read<AuthenticationViewModel>(); | 
					
						
							|  |  |  |                                 return DropdownWidget( | 
					
						
							|  |  |  |                                   labelText: LocaleKeys.country.tr(), | 
					
						
							|  |  |  |                                   hintText: LocaleKeys.uae.tr(), | 
					
						
							|  |  |  |                                   isEnable: true, | 
					
						
							|  |  |  |                                   dropdownItems: (data.countriesList ?? []).map((e) => data.isArabic ? e.nameN ?? "" : e.name ?? "").toList(), | 
					
						
							|  |  |  |                                   selectedValue: data.selectedCountry != null | 
					
						
							|  |  |  |                                       ? data.isArabic | 
					
						
							|  |  |  |                                           ? data.selectedCountry!.nameN ?? "" | 
					
						
							|  |  |  |                                           : data.selectedCountry!.name ?? "" | 
					
						
							|  |  |  |                                       : "", | 
					
						
							|  |  |  |                                   onChange: authVM.onUAEUserCountrySelection, | 
					
						
							|  |  |  |                                   isBorderAllowed: false, | 
					
						
							|  |  |  |                                   hasSelectionCustomIcon: true, | 
					
						
							|  |  |  |                                   labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                                   isAllowRadius: false, | 
					
						
							|  |  |  |                                   padding: EdgeInsets.only(top: 8.h, bottom: 8.h, left: 0, right: 0), | 
					
						
							|  |  |  |                                   selectionCustomIcon: AppAssets.arrow_down, | 
					
						
							|  |  |  |                                   leadingIcon: AppAssets.globe, | 
					
						
							|  |  |  |                                 ).withVerticalPadding(8.h); | 
					
						
							|  |  |  |                               }, | 
					
						
							|  |  |  |                             ) | 
					
						
							|  |  |  |                           : TextInputWidget( | 
					
						
							|  |  |  |                                   labelText: LocaleKeys.nationality.tr(), | 
					
						
							|  |  |  |                                   hintText: appState.isArabic() | 
					
						
							|  |  |  |                                       ? (authVM!.countriesList!.firstWhere((e) => e.id == (appState.getNHICUserData.nationalityCode ?? ""), orElse: () => NationalityCountries()).nameN ?? "") | 
					
						
							|  |  |  |                                       : (authVM!.countriesList!.firstWhere((e) => e.id == (appState.getNHICUserData.nationalityCode ?? ""), orElse: () => NationalityCountries()).name ?? ""), | 
					
						
							|  |  |  |                                   isEnable: true, | 
					
						
							|  |  |  |                                   prefix: null, | 
					
						
							|  |  |  |                                   isAllowRadius: false, | 
					
						
							|  |  |  |                                   isBorderAllowed: false, | 
					
						
							|  |  |  |                                   isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                                   isReadOnly: true, | 
					
						
							|  |  |  |                                   labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                                   leadingIcon: AppAssets.globe, | 
					
						
							|  |  |  |                                   onChange: (value) {}) | 
					
						
							|  |  |  |                               .paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                       Divider( | 
					
						
							|  |  |  |                         height: 1, | 
					
						
							|  |  |  |                         color: AppColors.greyColor, | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                       TextInputWidget( | 
					
						
							|  |  |  |                               labelText: LocaleKeys.mobileNumber.tr(), | 
					
						
							|  |  |  |                               hintText: (appState.getUserRegistrationPayload.patientMobileNumber.toString() ?? ""), | 
					
						
							|  |  |  |                               controller: null, | 
					
						
							|  |  |  |                               isEnable: false, | 
					
						
							|  |  |  |                               prefix: null, | 
					
						
							|  |  |  |                               isAllowRadius: false, | 
					
						
							|  |  |  |                               isBorderAllowed: false, | 
					
						
							|  |  |  |                               isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                               labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                               isReadOnly: true, | 
					
						
							|  |  |  |                               leadingIcon: AppAssets.call) | 
					
						
							|  |  |  |                           .paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                       Divider( | 
					
						
							|  |  |  |                         height: 1.h, | 
					
						
							|  |  |  |                         color: AppColors.greyColor, | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                       TextInputWidget( | 
					
						
							|  |  |  |                         labelText: LocaleKeys.dob.tr(), | 
					
						
							|  |  |  |                         hintText: authVM!.isUserFromUAE() ? appState.getUserRegistrationPayload.dob! : appState.getNHICUserData.dateOfBirth ?? "", | 
					
						
							|  |  |  |                         controller: authVM!.isUserFromUAE() ? authVM!.dobController : null, | 
					
						
							|  |  |  |                         isEnable: false, | 
					
						
							|  |  |  |                         prefix: null, | 
					
						
							|  |  |  |                         isBorderAllowed: false, | 
					
						
							|  |  |  |                         isAllowLeadingIcon: true, | 
					
						
							|  |  |  |                         isReadOnly: true, | 
					
						
							|  |  |  |                         labelColor: AppColors.textColor, | 
					
						
							|  |  |  |                         leadingIcon: AppAssets.birthday_cake, | 
					
						
							|  |  |  |                         selectionType: null, | 
					
						
							|  |  |  |                       ).paddingSymmetrical(0.h, 16.h), | 
					
						
							|  |  |  |                     ], | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                 ), | 
					
						
							|  |  |  |                 SizedBox(height: 50.h), | 
					
						
							|  |  |  |                 Row( | 
					
						
							|  |  |  |                   children: [ | 
					
						
							|  |  |  |                     Expanded( | 
					
						
							|  |  |  |                       child: CustomButton( | 
					
						
							|  |  |  |                         text: LocaleKeys.cancel.tr(), | 
					
						
							|  |  |  |                         icon: AppAssets.cancel, | 
					
						
							|  |  |  |                         onPressed: () { | 
					
						
							|  |  |  |                           Navigator.of(context).pop(); | 
					
						
							|  |  |  |                           // authVM!.clearDefaultInputValues();
 | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         backgroundColor: AppColors.secondaryLightRedColor, | 
					
						
							|  |  |  |                         borderColor: AppColors.secondaryLightRedColor, | 
					
						
							|  |  |  |                         textColor: AppColors.primaryRedColor, | 
					
						
							|  |  |  |                         iconColor: AppColors.primaryRedColor, | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                     ), | 
					
						
							|  |  |  |                     SizedBox(width: 16.w), | 
					
						
							|  |  |  |                     Expanded( | 
					
						
							|  |  |  |                       child: CustomButton( | 
					
						
							|  |  |  |                         backgroundColor: AppColors.primaryRedColor, | 
					
						
							|  |  |  |                         borderColor: AppColors.primaryRedColor, | 
					
						
							|  |  |  |                         textColor: AppColors.whiteColor, | 
					
						
							|  |  |  |                         text: LocaleKeys.confirm.tr(), | 
					
						
							|  |  |  |                         icon: AppAssets.confirm, | 
					
						
							|  |  |  |                         iconColor: AppColors.whiteColor, | 
					
						
							|  |  |  |                         onPressed: () { | 
					
						
							|  |  |  |                           if (appState.getUserRegistrationPayload.zipCode != CountryEnum.saudiArabia.countryCode) { | 
					
						
							|  |  |  |                             if (ValidationUtils.validateUaeRegistration( | 
					
						
							|  |  |  |                                 name: authVM!.nameController.text, | 
					
						
							|  |  |  |                                 gender: authVM!.genderType, | 
					
						
							|  |  |  |                                 country: authVM!.pickedCountryByUAEUser, | 
					
						
							|  |  |  |                                 maritalStatus: authVM!.maritalStatus, | 
					
						
							|  |  |  |                                 onOkPress: () { | 
					
						
							|  |  |  |                                   Navigator.of(context).pop(); | 
					
						
							|  |  |  |                                 })) { | 
					
						
							|  |  |  |                               showModel(context: context); | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                           } else { | 
					
						
							|  |  |  |                             showModel(context: context); | 
					
						
							|  |  |  |                           } | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                     ) | 
					
						
							|  |  |  |                   ], | 
					
						
							|  |  |  |                 ), | 
					
						
							|  |  |  |               ], | 
					
						
							|  |  |  |             ), | 
					
						
							|  |  |  |           ), | 
					
						
							|  |  |  |         ), | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   void showModel({required BuildContext context}) { | 
					
						
							|  |  |  |     showModalBottomSheet( | 
					
						
							|  |  |  |       context: context, | 
					
						
							|  |  |  |       isScrollControlled: true, | 
					
						
							|  |  |  |       isDismissible: false, | 
					
						
							|  |  |  |       backgroundColor: Colors.transparent, | 
					
						
							|  |  |  |       builder: (bottomSheetContext) => Padding( | 
					
						
							|  |  |  |         padding: EdgeInsets.only(bottom: MediaQuery.of(bottomSheetContext).viewInsets.bottom), | 
					
						
							|  |  |  |         child: SingleChildScrollView( | 
					
						
							|  |  |  |           child: GenericBottomSheet( | 
					
						
							|  |  |  |             textController: authVM!.emailController, | 
					
						
							|  |  |  |             isForEmail: true, | 
					
						
							|  |  |  |             buttons: [ | 
					
						
							|  |  |  |               Padding( | 
					
						
							|  |  |  |                 padding: const EdgeInsets.only(bottom: 10), | 
					
						
							|  |  |  |                 child: CustomButton( | 
					
						
							|  |  |  |                     text: LocaleKeys.submit.tr(), | 
					
						
							|  |  |  |                     onPressed: () { | 
					
						
							|  |  |  |                       if (ValidationUtils.isValidateEmail( | 
					
						
							|  |  |  |                           email: authVM!.emailController.text, | 
					
						
							|  |  |  |                           onOkPress: () { | 
					
						
							|  |  |  |                             Navigator.of(context).pop(); | 
					
						
							|  |  |  |                           })) { | 
					
						
							|  |  |  |                         authVM!.onRegistrationComplete(); | 
					
						
							|  |  |  |                       } | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     backgroundColor: AppColors.bgGreenColor, | 
					
						
							|  |  |  |                     borderColor: AppColors.bgGreenColor, | 
					
						
							|  |  |  |                     textColor: AppColors.whiteColor), | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           ), | 
					
						
							|  |  |  |         ), | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |