@ -43,11 +43,11 @@ class _RegisterNew extends State<RegisterNewStep2> {
 
		
	
		
			
				  @ override 
 
		
	
		
			
				  Widget  build ( BuildContext  context )  { 
 
		
	
		
			
				    AppState  appState  =  getIt . get < AppState > ( ) ; 
 
		
	
		
			
				
  
		
	
		
			
				    / /  TODO:  to  be  checked  with  yakeen  data 
 
		
	
		
			
				    var name = authVM ! . isUserFromUAE ( )  ?  " " :  appState . getLanguageCode ( )  = =  " en " 
 
		
	
		
			
				        ?  ( " ${ appState . getNHICUserData . firstNameEn ! . toUpperCase ( ) }   ${ appState . getNHICUserData . lastNameEn ! . toUpperCase ( ) } " ) 
 
		
	
		
			
				        :  ( " ${ appState . getNHICUserData . firstNameAr ! . toUpperCase ( ) }   ${ appState . getNHICUserData . lastNameAr ! . toUpperCase ( ) } " ) ; 
 
		
	
		
			
				    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 ( 
 
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
			
			@ -59,262 +59,273 @@ class _RegisterNew extends State<RegisterNewStep2> {
 
		
	
		
			
				        onLanguageChanged:  ( lang )  { } , 
 
		
	
		
			
				        hideLogoAndLang:  true , 
 
		
	
		
			
				      ) , 
 
		
	
		
			
				      body:  SingleChildScrollView ( 
 
		
	
		
			
				        reverse:  false , 
 
		
	
		
			
				        padding:  EdgeInsets . only ( left:  24. h ,  right:  24. h ,  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 ) , 
 
		
	
		
			
				            Directionality ( 
 
		
	
		
			
				              textDirection:  Directionality . of ( context ) , 
 
		
	
		
			
				              child:  Container ( 
 
		
	
		
			
				                decoration:  BoxDecoration ( color:  Colors . white ,  borderRadius:  BorderRadius . circular ( 24 ) ) , 
 
		
	
		
			
				                padding:  EdgeInsets . only ( left:  16. h ,  right:  16. h ) , 
 
		
	
		
			
				                child:  Column ( 
 
		
	
		
			
				      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. h ,  right:  24. h ,  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 ,  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:  const  EdgeInsets . only ( top:  8 ,  bottom:  8 ,  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:  const  EdgeInsets . only ( top:  8 ,  bottom:  8 ,  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 ,  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:  const  EdgeInsets . only ( top:  8 ,  bottom:  8 ,  left:  0 ,  right:  0 ) , 
 
		
	
		
			
				                                  selectionCustomIcon:  AppAssets . arrow_down , 
 
		
	
		
			
				                                  leadingIcon:  AppAssets . globe , 
 
		
	
		
			
				                                ) . withVerticalPadding ( 8 ) ; 
 
		
	
		
			
				                              } , 
 
		
	
		
			
				                            ) 
 
		
	
		
			
				                          :  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 , 
 
		
	
		
			
				                        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:  [ 
 
		
	
		
			
				                    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 , 
 
		
	
		
			
				                      isAllowLeadingIcon:  true , 
 
		
	
		
			
				                      isReadOnly:  authVM ! . isUserFromUAE ( )  ?  false  :  true , 
 
		
	
		
			
				                      leadingIcon:  AppAssets . user_circle , 
 
		
	
		
			
				                      labelColor:  AppColors . textColor , 
 
		
	
		
			
				                    ) . paddingSymmetrical ( 0. h ,  16. h ) , 
 
		
	
		
			
				                    Divider ( height:  1 ,  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:  const  EdgeInsets . only ( top:  8 ,  bottom:  8 ,  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:  const  EdgeInsets . only ( top:  8 ,  bottom:  8 ,  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 ,  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:  const  EdgeInsets . only ( top:  8 ,  bottom:  8 ,  left:  0 ,  right:  0 ) , 
 
		
	
		
			
				                                selectionCustomIcon:  AppAssets . arrow_down , 
 
		
	
		
			
				                                leadingIcon:  AppAssets . globe , 
 
		
	
		
			
				                              ) . withVerticalPadding ( 8 ) ; 
 
		
	
		
			
				                            } , 
 
		
	
		
			
				                          ) 
 
		
	
		
			
				                        :  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 , 
 
		
	
		
			
				                    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 , 
 
		
	
		
			
				                      ) , 
 
		
	
		
			
				                    ) , 
 
		
	
		
			
				                    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 , 
 
		
	
		
			
				                      color:  AppColors . greyColor , 
 
		
	
		
			
				                    SizedBox ( 
 
		
	
		
			
				                      width:  16 , 
 
		
	
		
			
				                    ) , 
 
		
	
		
			
				                    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 ) , 
 
		
	
		
			
				                    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 ) ; 
 
		
	
		
			
				                          } 
 
		
	
		
			
				                        } , 
 
		
	
		
			
				                      ) , 
 
		
	
		
			
				                    ) 
 
		
	
		
			
				                  ] , 
 
		
	
		
			
				                ) , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				            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 , 
 
		
	
		
			
				                ) , 
 
		
	
		
			
				                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 ) ; 
 
		
	
		
			
				                      } 
 
		
	
		
			
				                    } , 
 
		
	
		
			
				                  ) , 
 
		
	
		
			
				                ) 
 
		
	
		
			
				              ] , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				          ) , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				      ) , 
 
		
	
		
			
				    ) ;