From 13c42b297a6621586580c1ad3ee77460568d9449 Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Wed, 3 Nov 2021 17:08:47 +0200 Subject: [PATCH] check activation code --- .../service/PatientRegistrationService.dart | 22 +- .../PatientRegistrationViewModel.dart | 205 ++++--- .../register_patient/RegisterPatientPage.dart | 12 +- .../register_patient/VerifyMethodPage.dart | 552 ++++++++++++++---- 4 files changed, 559 insertions(+), 232 deletions(-) diff --git a/lib/core/service/PatientRegistrationService.dart b/lib/core/service/PatientRegistrationService.dart index 084bde69..ed3db005 100644 --- a/lib/core/service/PatientRegistrationService.dart +++ b/lib/core/service/PatientRegistrationService.dart @@ -39,20 +39,21 @@ class PatientRegistrationService extends BaseService { {SendActivationCodeByOTPNotificationTypeForRegistrationModel registrationModel, int otpType, - PatientRegistrationViewModel user}) async { + PatientRegistrationViewModel user, + CheckPatientForRegistrationModel + checkPatientForRegistrationModel}) async { registrationModel = SendActivationCodeByOTPNotificationTypeForRegistrationModel( oTPSendType: otpType, patientIdentificationID: - user.checkPatientForRegistrationModel.patientIdentificationID, - patientMobileNumber: - user.checkPatientForRegistrationModel.patientMobileNumber, - zipCode: user.checkPatientForRegistrationModel.zipCode, + checkPatientForRegistrationModel.patientIdentificationID, + patientMobileNumber: checkPatientForRegistrationModel.patientMobileNumber, + zipCode: checkPatientForRegistrationModel.zipCode, patientOutSA: false, healthId: "30000018540264", - dOB: user.checkPatientForRegistrationModel.dOB, - isRegister: user.checkPatientForRegistrationModel.isRegister, - isHijri: user.checkPatientForRegistrationModel.isHijri, + dOB: checkPatientForRegistrationModel.dOB, + isRegister: checkPatientForRegistrationModel.isRegister, + isHijri: checkPatientForRegistrationModel.isHijri, ); hasError = false; await baseAppClient.post(SEND_ACTIVATION_CODE_BY_OTP_NOT_TYPE, @@ -69,8 +70,9 @@ class PatientRegistrationService extends BaseService { checkActivationCode(CheckActivationCodeModel registrationModel) async { hasError = false; await baseAppClient.post(CHECK_ACTIVATION_CODE_FOR_PATIENT, - onSuccess: (dynamic response, int statusCode) {}, - onFailure: (String error, int statusCode) { + onSuccess: (dynamic response, int statusCode) { + registrationModel = CheckActivationCodeModel.fromJson(response); + }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: registrationModel.toJson()); diff --git a/lib/core/viewModel/PatientRegistrationViewModel.dart b/lib/core/viewModel/PatientRegistrationViewModel.dart index 12c57ff0..aee62cad 100644 --- a/lib/core/viewModel/PatientRegistrationViewModel.dart +++ b/lib/core/viewModel/PatientRegistrationViewModel.dart @@ -14,19 +14,17 @@ class PatientRegistrationViewModel extends BaseViewModel { PatientRegistrationService _patientRegistrationService = locator(); - - GetPatientInfoResponseModel get getPatientInfoResponseModel =>_patientRegistrationService.getPatientInfoResponseModel; - - CheckPatientForRegistrationModel checkPatientForRegistrationModel ; GetPatientInfoResponseModel get getPatientInfoResponseModel => _patientRegistrationService.getPatientInfoResponseModel; CheckPatientForRegistrationModel checkPatientForRegistrationModel; + Future checkPatientForRegistration( CheckPatientForRegistrationModel registrationModel) async { checkPatientForRegistrationModel = registrationModel; - checkPatientForRegistrationModel =CheckPatientForRegistrationModel.fromJson(registrationModel.toJson()); + checkPatientForRegistrationModel = + CheckPatientForRegistrationModel.fromJson(registrationModel.toJson()); setState(ViewState.BusyLocal); await _patientRegistrationService .checkPatientForRegistration(registrationModel); @@ -40,111 +38,106 @@ class PatientRegistrationViewModel extends BaseViewModel { Future getPatientInfo( GetPatientInfoRequestModel getPatientInfoRequestModel) async { setState(ViewState.BusyLocal); + /// TODO Elham* return call service when it working - _patientRegistrationService.getPatientInfoResponseModel = GetPatientInfoResponseModel.fromJson({ - "Date": null, - "LanguageID": 0, - "ServiceName": 0, - "Time": null, - "AndroidLink": null, - "AuthenticationTokenID": null, - "Data": null, - "Dataw": false, - "DietType": 0, - "ErrorCode": null, - "ErrorEndUserMessage": null, - "ErrorEndUserMessageN": null, - "ErrorMessage": null, - "ErrorType": 0, - "FoodCategory": 0, - "IOSLink": null, - "IsAuthenticated": false, - "MealOrderStatus": 0, - "MealType": 0, - "MessageStatus": 1, - "NumberOfResultRecords": 0, - "PatientBlodType": null, - "SuccessMsg": null, - "SuccessMsgN": null, - "VidaUpdatedResponse": null, - "AccessTokenObject": null, - "Age": 33, - "ClientIdentifierId": null, - "CreatedBy": 0, - "DateOfBirth": "07/31/1988", - "FirstNameAr": "سفيان", - "FirstNameEn": "SUFIAN", - "Gender": "M", - "GenderAr": null, - "GenderEn": null, - "HealthId": "30000018540264", - "IdNumber": "1062938285", - "IdType": "NationalId", - "IsHijri": false, - "IsInstertedOrUpdated": 0, - "IsNull": 0, - "IsPatientExistNHIC": 0, - "IsRecordLockedByCurrentUser": false, - "LastNameAr": "عثمان", - "LastNameEn": "OTHMAN", - "List_ActiveAccessToken": null, - "MaritalStatus": "غير معروف", - "MaritalStatusCode": "U", - "NationalDateOfBirth": "18/12/1408", - "Nationality": "السعودية", - "NationalityCode": "SAU", - "Occupation": "طالب", - "PCDTransactionDataResultList": null, - "PCD_GetVidaPatientForManualVerificationList": null, - "PCD_NHIC_HMG_PatientDetailsMatchCalulationList": null, - "PCD_ReturnValue": 0, - "PatientStatus": "-", - "PlaceofBirth": "فينا", - "PractitionerStatusCode": null, - "PractitionerStatusDescAr": null, - "PractitionerStatusDescEn": null, - "RowCount": 0, - "SecondNameAr": "عبدالهادي", - "SecondNameEn": "ABDULHADI", - "ThirdNameAr": "احمد", - "ThirdNameEn": "A", - "YakeenVidaPatientDataStatisticsByPatientIdList": null, - "YakeenVidaPatientDataStatisticsList": null, - "YakeenVidaPatientDataStatisticsPrefferedList": null, - "accessToken": null, - "categoryCode": 0, - "categoryNameAr": null, - "categoryNameEn": null, - "constraintCode": 0, - "constraintNameAr": null, - "constraintNameEn": null, - "content": null, - "errorList": null, - "licenseExpiryDate": null, - "licenseIssuedDate": null, - "licenseStatusCode": null, - "licenseStatusDescAr": null, - "licenseStatusDescEn": null, - "organizations": null, - "registrationNumber": null, - "specialtyCode": 0, - "specialtyNameAr": null, - "specialtyNameEn": null - }); + _patientRegistrationService.getPatientInfoResponseModel = + GetPatientInfoResponseModel.fromJson({ + "Date": null, + "LanguageID": 0, + "ServiceName": 0, + "Time": null, + "AndroidLink": null, + "AuthenticationTokenID": null, + "Data": null, + "Dataw": false, + "DietType": 0, + "ErrorCode": null, + "ErrorEndUserMessage": null, + "ErrorEndUserMessageN": null, + "ErrorMessage": null, + "ErrorType": 0, + "FoodCategory": 0, + "IOSLink": null, + "IsAuthenticated": false, + "MealOrderStatus": 0, + "MealType": 0, + "MessageStatus": 1, + "NumberOfResultRecords": 0, + "PatientBlodType": null, + "SuccessMsg": null, + "SuccessMsgN": null, + "VidaUpdatedResponse": null, + "AccessTokenObject": null, + "Age": 33, + "ClientIdentifierId": null, + "CreatedBy": 0, + "DateOfBirth": "07/31/1988", + "FirstNameAr": "سفيان", + "FirstNameEn": "SUFIAN", + "Gender": "M", + "GenderAr": null, + "GenderEn": null, + "HealthId": "30000018540264", + "IdNumber": "1062938285", + "IdType": "NationalId", + "IsHijri": false, + "IsInstertedOrUpdated": 0, + "IsNull": 0, + "IsPatientExistNHIC": 0, + "IsRecordLockedByCurrentUser": false, + "LastNameAr": "عثمان", + "LastNameEn": "OTHMAN", + "List_ActiveAccessToken": null, + "MaritalStatus": "غير معروف", + "MaritalStatusCode": "U", + "NationalDateOfBirth": "18/12/1408", + "Nationality": "السعودية", + "NationalityCode": "SAU", + "Occupation": "طالب", + "PCDTransactionDataResultList": null, + "PCD_GetVidaPatientForManualVerificationList": null, + "PCD_NHIC_HMG_PatientDetailsMatchCalulationList": null, + "PCD_ReturnValue": 0, + "PatientStatus": "-", + "PlaceofBirth": "فينا", + "PractitionerStatusCode": null, + "PractitionerStatusDescAr": null, + "PractitionerStatusDescEn": null, + "RowCount": 0, + "SecondNameAr": "عبدالهادي", + "SecondNameEn": "ABDULHADI", + "ThirdNameAr": "احمد", + "ThirdNameEn": "A", + "YakeenVidaPatientDataStatisticsByPatientIdList": null, + "YakeenVidaPatientDataStatisticsList": null, + "YakeenVidaPatientDataStatisticsPrefferedList": null, + "accessToken": null, + "categoryCode": 0, + "categoryNameAr": null, + "categoryNameEn": null, + "constraintCode": 0, + "constraintNameAr": null, + "constraintNameEn": null, + "content": null, + "errorList": null, + "licenseExpiryDate": null, + "licenseIssuedDate": null, + "licenseStatusCode": null, + "licenseStatusDescAr": null, + "licenseStatusDescEn": null, + "organizations": null, + "registrationNumber": null, + "specialtyCode": 0, + "specialtyNameAr": null, + "specialtyNameEn": null + }); // await _patientRegistrationService. // getPatientInfo(getPatientInfoRequestModel); // if (_patientRegistrationService.hasError) { // error = _patientRegistrationService.error; // setState(ViewState.ErrorLocal); // } else - // setState(ViewState.Idle); - await _patientRegistrationService - .getPatientInfo(getPatientInfoRequestModel); - if (_patientRegistrationService.hasError) { - error = _patientRegistrationService.error; - setState(ViewState.ErrorLocal); - } else - setState(ViewState.Idle); + setState(ViewState.Idle); } Future sendActivationCodeByOTPNotificationType( @@ -153,8 +146,12 @@ class PatientRegistrationViewModel extends BaseViewModel { int otpType, PatientRegistrationViewModel user}) async { setState(ViewState.Busy); + print(checkPatientForRegistrationModel); + print(checkPatientForRegistrationModel); + await _patientRegistrationService.sendActivationCodeByOTPNotificationType( - otpType: otpType); + otpType: otpType, + checkPatientForRegistrationModel: checkPatientForRegistrationModel); if (_patientRegistrationService.hasError) { error = _patientRegistrationService.error; setState(ViewState.Error); diff --git a/lib/screens/patients/register_patient/RegisterPatientPage.dart b/lib/screens/patients/register_patient/RegisterPatientPage.dart index 52e3b0c9..f9d6d5d3 100644 --- a/lib/screens/patients/register_patient/RegisterPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterPatientPage.dart @@ -99,16 +99,16 @@ class _RegisterPatientPageState extends State }, scrollDirection: Axis.horizontal, children: [ - RegisterSearchPatientPage(changePageViewIndex: changePageViewIndex,model: model), - RegisterConfirmationPatientPage(model: model,), - RegisterSearchPatientPage( + changePageViewIndex: changePageViewIndex, + model: model), + ActivationPage( + model: model, changePageViewIndex: changePageViewIndex, ), - ActivationPage( - user: model, + RegisterConfirmationPatientPage( + model: model, ), - RegisterConfirmationPatientPage(), ]), ), ), diff --git a/lib/screens/patients/register_patient/VerifyMethodPage.dart b/lib/screens/patients/register_patient/VerifyMethodPage.dart index 21286014..b959e0a8 100644 --- a/lib/screens/patients/register_patient/VerifyMethodPage.dart +++ b/lib/screens/patients/register_patient/VerifyMethodPage.dart @@ -2,147 +2,475 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/CheckPatientForRegistrationModel.dart'; import 'package:doctor_app_flutter/core/viewModel/PatientRegistrationViewModel.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; +import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; +import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart'; +import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; class ActivationPage extends StatefulWidget { - PatientRegistrationViewModel user = PatientRegistrationViewModel(); - ActivationPage({this.user}); + final PatientRegistrationViewModel model; + final Function changePageViewIndex; + ActivationPage({this.model, this.changePageViewIndex}); @override _ActivationPageState createState() => _ActivationPageState(); } class _ActivationPageState extends State { + bool isSendOtp = false; + final verifyAccountForm = GlobalKey(); + TextStyle buildTextStyle() { + return TextStyle( + fontSize: SizeConfig.textMultiplier * 3, + ); + } + + Map verifyAccountFormValue = { + 'digit1': '', + 'digit2': '', + 'digit3': '', + 'digit4': '', + }; + final focusD1 = FocusNode(); + final focusD2 = FocusNode(); + final focusD3 = FocusNode(); + final focusD4 = FocusNode(); + + TextEditingController digit1 = TextEditingController(text: ""); + TextEditingController digit2 = TextEditingController(text: ""); + TextEditingController digit3 = TextEditingController(text: ""); + TextEditingController digit4 = TextEditingController(text: ""); + @override Widget build(BuildContext context) { - return BaseView( - builder: (_, model, w) => AppScaffold( - baseViewModel: model, + return AppScaffold( + baseViewModel: widget.model, isShowAppBar: false, body: Column( children: [ - Container( - width: double.infinity, - margin: EdgeInsets.all(16.0), - child: SingleChildScrollView( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - "Please select how you want to be verified", - fontFamily: 'Poppins', - fontSize: SizeConfig.textMultiplier * 2.2, - fontWeight: FontWeight.w800, - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: InkWell( - onTap: () { - model.sendActivationCodeByOTPNotificationType( - otpType: 1); - }, - child: Container( - height: - MediaQuery.of(context).size.height * 0.233, - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all( - Radius.circular(10), - ), - border: Border.all( - color: HexColor('#707070'), width: 0.1), - ), - child: Column( - children: [ - Row( - children: [ - Image.asset( - "assets/images/verify-sms.png", - height: - MediaQuery.of(context).size.height * - 0.15, - width: - MediaQuery.of(context).size.width * - 0.15, + Visibility( + //visible: isSendOtp, + child: !isSendOtp + ? Container( + width: double.infinity, + margin: EdgeInsets.all(16.0), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + "Please select how you want to be verified", + fontFamily: 'Poppins', + fontSize: SizeConfig.textMultiplier * 2.2, + fontWeight: FontWeight.w800, + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: InkWell( + onTap: () async { + setState(() { + isSendOtp = true; + }); + + await widget.model + .sendActivationCodeByOTPNotificationType( + otpType: 1); + }, + child: Container( + height: + MediaQuery.of(context).size.height * + 0.233, + margin: EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.all( + Radius.circular(10), + ), + border: Border.all( + color: HexColor('#707070'), + width: 0.1), + ), + child: Column( + children: [ + Row( + children: [ + Image.asset( + "assets/images/verify-sms.png", + height: MediaQuery.of(context) + .size + .height * + 0.15, + width: MediaQuery.of(context) + .size + .width * + 0.15, + ), + ], + ), + SizedBox( + height: 20, + ), + AppText( + "Verify through SMS", + fontSize: 14, + color: Color(0xFF2E303A), + fontWeight: FontWeight.bold, + ) + ], ), - ], + ), ), - SizedBox( - height: 20, + ), + Expanded( + child: InkWell( + onTap: () async { + isSendOtp = false; + await widget.model + .sendActivationCodeByOTPNotificationType( + otpType: 1, user: widget.model); + }, + child: Container( + height: + MediaQuery.of(context).size.height * + 0.233, + margin: EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.all( + Radius.circular(10), + ), + border: Border.all( + color: HexColor('#707070'), + width: 0.1), + ), + child: Column( + children: [ + Row( + children: [ + Image.asset( + "assets/images/verify-whtsapp.png", + height: MediaQuery.of(context) + .size + .height * + 0.15, + width: MediaQuery.of(context) + .size + .width * + 0.15, + ), + ], + ), + SizedBox( + height: 20, + ), + AppText( + "Verify through WhatsApp", + fontSize: 14, + color: Color(0xFF2E303A), + fontWeight: FontWeight.bold, + ) + ], + ), + ), ), - AppText( - "Verify through SMS", - fontSize: 14, - color: Color(0xFF2E303A), - fontWeight: FontWeight.bold, - ) - ], - ), + ), + ], ), - ), + ], ), - Expanded( - child: InkWell( - onTap: () { - model.sendActivationCodeByOTPNotificationType( - otpType: 1); - }, - child: Container( - height: - MediaQuery.of(context).size.height * 0.233, - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all( - Radius.circular(10), - ), - border: Border.all( - color: HexColor('#707070'), width: 0.1), - ), - child: Column( - children: [ - Row( - children: [ - Image.asset( - "assets/images/verify-whtsapp.png", - height: - MediaQuery.of(context).size.height * - 0.15, - width: - MediaQuery.of(context).size.width * - 0.15, + ), + ) + : Container( + width: double.infinity, + margin: EdgeInsets.all(16.0), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + "Please enter the verification code sent to 02221552", + fontFamily: 'Poppins', + fontSize: SizeConfig.textMultiplier * 2.2, + fontWeight: FontWeight.w800, + ), + Row( + children: [ + Center( + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Form( + key: verifyAccountForm, + child: Padding( + padding: EdgeInsets.only(top: 20), + child: Directionality( + textDirection: TextDirection.ltr, + child: Row( + mainAxisAlignment: + MainAxisAlignment.start, + children: [ + Container( + width: SizeConfig + .realScreenWidth * + 0.16, + margin: EdgeInsets.all(5), + child: TextFormField( + textInputAction: + TextInputAction.next, + style: buildTextStyle(), + autofocus: true, + maxLength: 1, + controller: digit1, + textAlign: TextAlign.center, + keyboardType: + TextInputType.number, + decoration: + buildInputDecoration( + context), + onSaved: (val) {}, + //validator: validateCodeDigit, + onFieldSubmitted: (_) { + FocusScope.of(context) + .requestFocus( + focusD2); + }, + onChanged: (val) { + if (val.length == 1) { + FocusScope.of(context) + .requestFocus( + focusD2); + verifyAccountFormValue[ + 'digit1'] = + val.trim(); + //checkValue(); + } + }, + ), + ), + Container( + width: SizeConfig + .realScreenWidth * + 0.16, + margin: EdgeInsets.all(5), + child: TextFormField( + focusNode: focusD2, + textInputAction: + TextInputAction.next, + maxLength: 1, + controller: digit2, + textAlign: TextAlign.center, + style: buildTextStyle(), + keyboardType: + TextInputType.number, + decoration: + buildInputDecoration( + context), + onSaved: (val) {}, + onFieldSubmitted: (_) { + FocusScope.of(context) + .requestFocus( + focusD3); + }, + onChanged: (val) { + if (val.length == 1) { + FocusScope.of(context) + .requestFocus( + focusD3); + verifyAccountFormValue[ + 'digit2'] = + val.trim(); + //checkValue(); + } + }, + //validator: validateCodeDigit, + ), + ), + Container( + margin: EdgeInsets.all(5), + width: SizeConfig + .realScreenWidth * + 0.16, + child: TextFormField( + focusNode: focusD3, + textInputAction: + TextInputAction.next, + maxLength: 1, + controller: digit3, + textAlign: + TextAlign.center, + style: buildTextStyle(), + keyboardType: + TextInputType.number, + decoration: + buildInputDecoration( + context), + onSaved: (val) {}, + onFieldSubmitted: (_) { + FocusScope.of(context) + .requestFocus( + focusD4); + }, + onChanged: (val) { + if (val.length == 1) { + FocusScope.of(context) + .requestFocus( + focusD4); + verifyAccountFormValue[ + 'digit3'] = + val.trim(); + //checkValue(); + } + }, + // validator: + // validateCodeDigit, + )), + Container( + margin: EdgeInsets.all(5), + width: SizeConfig + .realScreenWidth * + 0.16, + child: TextFormField( + focusNode: focusD4, + maxLength: 1, + textAlign: + TextAlign.center, + style: buildTextStyle(), + controller: digit4, + keyboardType: + TextInputType.number, + decoration: + buildInputDecoration( + context), + onFieldSubmitted: (_) { + FocusScope.of(context) + .requestFocus( + focusD4); + }, + onChanged: (val) { + if (val.length == 1) { + verifyAccountFormValue[ + 'digit4'] = + val.trim(); + //checkValue(); + } + }, + // validator: + // validateCodeDigit, + )), + ], + )), ), - ], - ), - SizedBox( - height: 20, - ), - AppText( - "Verify through WhatsApp", - fontSize: 14, - color: Color(0xFF2E303A), - fontWeight: FontWeight.bold, - ) - ], - ), + ), + Padding( + padding: const EdgeInsets.all(12.0), + child: Column( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context) + .validationMessage + + ' ', + fontWeight: FontWeight.w600, + fontSize: 14, + ), + // AppText( + // displayTime, + // color: Colors.red, + // textAlign: TextAlign.start, + // fontWeight: FontWeight.bold, + // fontSize: 14, + // ) + ]), + ) + ], + ))), + ], ), - ), + ], ), - ], + ), ), - ], - ), - ), ) ], ), + bottomSheet: isSendOtp + ? Container( + height: 60, + margin: EdgeInsets.symmetric(vertical: 16, horizontal: 16), + child: Row( + children: [ + Expanded( + child: Container( + child: AppButton( + title: TranslationBase.of(context).cancel, + hasBorder: true, + vPadding: 12, + hPadding: 8, + borderColor: Color(0xFFeaeaea), + color: Color(0xFFeaeaea), + fontColor: Colors.black, + fontSize: 2.2, + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ), + ), + SizedBox( + width: 8, + ), + Expanded( + child: Container( + child: AppButton( + title: TranslationBase.of(context).next, + hasBorder: true, + vPadding: 12, + hPadding: 8, + borderColor: Color(0xFFB8382B), + color: Color(0xFFB8382B), + fontColor: Colors.white, + fontSize: 2.0, + onPressed: () async { + //widget.model.checkActivationCode(), + }, + ), + ), + ), + ], + ), + ) + : null); + } + + InputDecoration buildInputDecoration(BuildContext context) { + return InputDecoration( + counterText: " ", + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(10)), + borderSide: BorderSide(color: Colors.grey[300]), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide(color: Colors.grey[300]), + ), + errorBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide(color: Colors.grey[300]), + ), + focusedErrorBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide(color: Theme.of(context).errorColor), ), ); }