@ -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 ) ;
}
} ,
) ,
)
] ,
) ,
] ,
) ,
) ,
) ,
) ;