|  |  |  | @ -27,6 +27,7 @@ import 'package:hmg_patient_app_new/theme/colors.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:hmg_patient_app_new/widgets/in_app_browser/InAppBrowser.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:hmg_patient_app_new/widgets/shimmer/movies_shimmer_widget.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart'; | 
		
	
		
			
				|  |  |  |  | import 'package:provider/provider.dart'; | 
		
	
	
		
			
				
					|  |  |  | @ -79,118 +80,116 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> { | 
		
	
		
			
				|  |  |  |  |               child: CollapsingListView( | 
		
	
		
			
				|  |  |  |  |                 title: "Appointment Payment".needTranslation, | 
		
	
		
			
				|  |  |  |  |                 child: SingleChildScrollView( | 
		
	
		
			
				|  |  |  |  |                   child: myAppointmentsVM.isAppointmentPatientShareLoading | 
		
	
		
			
				|  |  |  |  |                       ? const MoviesShimmerWidget().paddingAll(24.h) | 
		
	
		
			
				|  |  |  |  |                       : Column( | 
		
	
		
			
				|  |  |  |  |                           crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                   child: Column( | 
		
	
		
			
				|  |  |  |  |                     crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                     children: [ | 
		
	
		
			
				|  |  |  |  |                       SizedBox(height: 24.h), | 
		
	
		
			
				|  |  |  |  |                       Container( | 
		
	
		
			
				|  |  |  |  |                         decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | 
		
	
		
			
				|  |  |  |  |                           color: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                           borderRadius: 20.h, | 
		
	
		
			
				|  |  |  |  |                           hasShadow: false, | 
		
	
		
			
				|  |  |  |  |                         ), | 
		
	
		
			
				|  |  |  |  |                         child: Row( | 
		
	
		
			
				|  |  |  |  |                           mainAxisSize: MainAxisSize.max, | 
		
	
		
			
				|  |  |  |  |                           children: [ | 
		
	
		
			
				|  |  |  |  |                             SizedBox(height: 24.h), | 
		
	
		
			
				|  |  |  |  |                             Container( | 
		
	
		
			
				|  |  |  |  |                               decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | 
		
	
		
			
				|  |  |  |  |                                 color: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                                 borderRadius: 20.h, | 
		
	
		
			
				|  |  |  |  |                                 hasShadow: false, | 
		
	
		
			
				|  |  |  |  |                               ), | 
		
	
		
			
				|  |  |  |  |                               child: Row( | 
		
	
		
			
				|  |  |  |  |                                 mainAxisSize: MainAxisSize.max, | 
		
	
		
			
				|  |  |  |  |                                 children: [ | 
		
	
		
			
				|  |  |  |  |                                   Column( | 
		
	
		
			
				|  |  |  |  |                                     crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                                     children: [ | 
		
	
		
			
				|  |  |  |  |                                       Image.asset(AppAssets.mada, width: 72.h, height: 25.h), | 
		
	
		
			
				|  |  |  |  |                                       SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                                       "Mada".needTranslation.toText16(isBold: true), | 
		
	
		
			
				|  |  |  |  |                                     ], | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                   SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                                   const Spacer(), | 
		
	
		
			
				|  |  |  |  |                                   Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                                     icon: AppAssets.forward_arrow_icon, | 
		
	
		
			
				|  |  |  |  |                                     iconColor: AppColors.blackColor, | 
		
	
		
			
				|  |  |  |  |                                     width: 18.h, | 
		
	
		
			
				|  |  |  |  |                                     height: 13.h, | 
		
	
		
			
				|  |  |  |  |                                     fit: BoxFit.contain, | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                 ], | 
		
	
		
			
				|  |  |  |  |                               ).paddingSymmetrical(16.h, 16.h), | 
		
	
		
			
				|  |  |  |  |                             ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                               selectedPaymentMethod = "MADA"; | 
		
	
		
			
				|  |  |  |  |                               openPaymentURL("mada"); | 
		
	
		
			
				|  |  |  |  |                             }), | 
		
	
		
			
				|  |  |  |  |                             SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                             Container( | 
		
	
		
			
				|  |  |  |  |                               decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | 
		
	
		
			
				|  |  |  |  |                                 color: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                                 borderRadius: 20.h, | 
		
	
		
			
				|  |  |  |  |                                 hasShadow: false, | 
		
	
		
			
				|  |  |  |  |                               ), | 
		
	
		
			
				|  |  |  |  |                               child: Row( | 
		
	
		
			
				|  |  |  |  |                                 mainAxisSize: MainAxisSize.max, | 
		
	
		
			
				|  |  |  |  |                                 children: [ | 
		
	
		
			
				|  |  |  |  |                                   Column( | 
		
	
		
			
				|  |  |  |  |                                     crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                                     children: [ | 
		
	
		
			
				|  |  |  |  |                                       Row( | 
		
	
		
			
				|  |  |  |  |                                         children: [ | 
		
	
		
			
				|  |  |  |  |                                           Image.asset(AppAssets.visa, width: 50.h, height: 50.h), | 
		
	
		
			
				|  |  |  |  |                                           SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                                           Image.asset(AppAssets.Mastercard, width: 40.h, height: 40.h), | 
		
	
		
			
				|  |  |  |  |                                         ], | 
		
	
		
			
				|  |  |  |  |                                       ), | 
		
	
		
			
				|  |  |  |  |                                       SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                                       "Visa or Mastercard".needTranslation.toText16(isBold: true), | 
		
	
		
			
				|  |  |  |  |                                     ], | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                   SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                                   const Spacer(), | 
		
	
		
			
				|  |  |  |  |                                   Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                                     icon: AppAssets.forward_arrow_icon, | 
		
	
		
			
				|  |  |  |  |                                     iconColor: AppColors.blackColor, | 
		
	
		
			
				|  |  |  |  |                                     width: 18.h, | 
		
	
		
			
				|  |  |  |  |                                     height: 13.h, | 
		
	
		
			
				|  |  |  |  |                                     fit: BoxFit.contain, | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                 ], | 
		
	
		
			
				|  |  |  |  |                               ).paddingSymmetrical(16.h, 16.h), | 
		
	
		
			
				|  |  |  |  |                             ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                               selectedPaymentMethod = "VISA"; | 
		
	
		
			
				|  |  |  |  |                               openPaymentURL("visa"); | 
		
	
		
			
				|  |  |  |  |                             }), | 
		
	
		
			
				|  |  |  |  |                             SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                             Container( | 
		
	
		
			
				|  |  |  |  |                               decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | 
		
	
		
			
				|  |  |  |  |                                 color: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                                 borderRadius: 20.h, | 
		
	
		
			
				|  |  |  |  |                                 hasShadow: false, | 
		
	
		
			
				|  |  |  |  |                               ), | 
		
	
		
			
				|  |  |  |  |                               child: Row( | 
		
	
		
			
				|  |  |  |  |                                 mainAxisSize: MainAxisSize.max, | 
		
	
		
			
				|  |  |  |  |                                 children: [ | 
		
	
		
			
				|  |  |  |  |                                   Column( | 
		
	
		
			
				|  |  |  |  |                                     crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                                     children: [ | 
		
	
		
			
				|  |  |  |  |                                       Image.asset(AppAssets.tamara_en, width: 72.h, height: 25.h), | 
		
	
		
			
				|  |  |  |  |                                       SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                                       "Tamara".needTranslation.toText16(isBold: true), | 
		
	
		
			
				|  |  |  |  |                                     ], | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                   SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                                   const Spacer(), | 
		
	
		
			
				|  |  |  |  |                                   Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                                     icon: AppAssets.forward_arrow_icon, | 
		
	
		
			
				|  |  |  |  |                                     iconColor: AppColors.blackColor, | 
		
	
		
			
				|  |  |  |  |                                     width: 18.h, | 
		
	
		
			
				|  |  |  |  |                                     height: 13.h, | 
		
	
		
			
				|  |  |  |  |                                     fit: BoxFit.contain, | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                 ], | 
		
	
		
			
				|  |  |  |  |                               ).paddingSymmetrical(16.h, 16.h), | 
		
	
		
			
				|  |  |  |  |                             ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                               selectedPaymentMethod = "TAMARA"; | 
		
	
		
			
				|  |  |  |  |                               openPaymentURL("tamara"); | 
		
	
		
			
				|  |  |  |  |                             }), | 
		
	
		
			
				|  |  |  |  |                             Column( | 
		
	
		
			
				|  |  |  |  |                               crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                               children: [ | 
		
	
		
			
				|  |  |  |  |                                 Image.asset(AppAssets.mada, width: 72.h, height: 25.h).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                                 "Mada".needTranslation.toText16(isBold: true).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                               ], | 
		
	
		
			
				|  |  |  |  |                             ), | 
		
	
		
			
				|  |  |  |  |                             SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                             const Spacer(), | 
		
	
		
			
				|  |  |  |  |                             Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                               icon: AppAssets.forward_arrow_icon, | 
		
	
		
			
				|  |  |  |  |                               iconColor: AppColors.blackColor, | 
		
	
		
			
				|  |  |  |  |                               width: 18.h, | 
		
	
		
			
				|  |  |  |  |                               height: 13.h, | 
		
	
		
			
				|  |  |  |  |                               fit: BoxFit.contain, | 
		
	
		
			
				|  |  |  |  |                             ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                           ], | 
		
	
		
			
				|  |  |  |  |                         ).paddingSymmetrical(16.h, 16.h), | 
		
	
		
			
				|  |  |  |  |                       ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                         selectedPaymentMethod = "MADA"; | 
		
	
		
			
				|  |  |  |  |                         openPaymentURL("mada"); | 
		
	
		
			
				|  |  |  |  |                       }), | 
		
	
		
			
				|  |  |  |  |                       SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                       Container( | 
		
	
		
			
				|  |  |  |  |                         decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | 
		
	
		
			
				|  |  |  |  |                           color: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                           borderRadius: 20.h, | 
		
	
		
			
				|  |  |  |  |                           hasShadow: false, | 
		
	
		
			
				|  |  |  |  |                         ), | 
		
	
		
			
				|  |  |  |  |                         child: Row( | 
		
	
		
			
				|  |  |  |  |                           mainAxisSize: MainAxisSize.max, | 
		
	
		
			
				|  |  |  |  |                           children: [ | 
		
	
		
			
				|  |  |  |  |                             Column( | 
		
	
		
			
				|  |  |  |  |                               crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                               children: [ | 
		
	
		
			
				|  |  |  |  |                                 Row( | 
		
	
		
			
				|  |  |  |  |                                   children: [ | 
		
	
		
			
				|  |  |  |  |                                     Image.asset(AppAssets.visa, width: 50.h, height: 50.h), | 
		
	
		
			
				|  |  |  |  |                                     SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                                     Image.asset(AppAssets.Mastercard, width: 40.h, height: 40.h), | 
		
	
		
			
				|  |  |  |  |                                   ], | 
		
	
		
			
				|  |  |  |  |                                 ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                                 "Visa or Mastercard".needTranslation.toText16(isBold: true).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                               ], | 
		
	
		
			
				|  |  |  |  |                             ), | 
		
	
		
			
				|  |  |  |  |                             SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                             const Spacer(), | 
		
	
		
			
				|  |  |  |  |                             Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                               icon: AppAssets.forward_arrow_icon, | 
		
	
		
			
				|  |  |  |  |                               iconColor: AppColors.blackColor, | 
		
	
		
			
				|  |  |  |  |                               width: 18.h, | 
		
	
		
			
				|  |  |  |  |                               height: 13.h, | 
		
	
		
			
				|  |  |  |  |                               fit: BoxFit.contain, | 
		
	
		
			
				|  |  |  |  |                             ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                           ], | 
		
	
		
			
				|  |  |  |  |                         ).paddingSymmetrical(16.h, 16.h), | 
		
	
		
			
				|  |  |  |  |                       ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                         selectedPaymentMethod = "VISA"; | 
		
	
		
			
				|  |  |  |  |                         openPaymentURL("visa"); | 
		
	
		
			
				|  |  |  |  |                       }), | 
		
	
		
			
				|  |  |  |  |                       SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                       Container( | 
		
	
		
			
				|  |  |  |  |                         decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | 
		
	
		
			
				|  |  |  |  |                           color: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                           borderRadius: 20.h, | 
		
	
		
			
				|  |  |  |  |                           hasShadow: false, | 
		
	
		
			
				|  |  |  |  |                         ), | 
		
	
		
			
				|  |  |  |  |                         child: Row( | 
		
	
		
			
				|  |  |  |  |                           mainAxisSize: MainAxisSize.max, | 
		
	
		
			
				|  |  |  |  |                           children: [ | 
		
	
		
			
				|  |  |  |  |                             Column( | 
		
	
		
			
				|  |  |  |  |                               crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                               children: [ | 
		
	
		
			
				|  |  |  |  |                                 Image.asset(AppAssets.tamara_en, width: 72.h, height: 25.h).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 16.h), | 
		
	
		
			
				|  |  |  |  |                                 "Tamara".needTranslation.toText16(isBold: true).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                               ], | 
		
	
		
			
				|  |  |  |  |                             ), | 
		
	
		
			
				|  |  |  |  |                             SizedBox(width: 8.h), | 
		
	
		
			
				|  |  |  |  |                             const Spacer(), | 
		
	
		
			
				|  |  |  |  |                             Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                               icon: AppAssets.forward_arrow_icon, | 
		
	
		
			
				|  |  |  |  |                               iconColor: AppColors.blackColor, | 
		
	
		
			
				|  |  |  |  |                               width: 18.h, | 
		
	
		
			
				|  |  |  |  |                               height: 13.h, | 
		
	
		
			
				|  |  |  |  |                               fit: BoxFit.contain, | 
		
	
		
			
				|  |  |  |  |                             ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading), | 
		
	
		
			
				|  |  |  |  |                           ], | 
		
	
		
			
				|  |  |  |  |                         ).paddingSymmetrical(16.h, 16.h), | 
		
	
		
			
				|  |  |  |  |                       ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                         selectedPaymentMethod = "TAMARA"; | 
		
	
		
			
				|  |  |  |  |                         openPaymentURL("tamara"); | 
		
	
		
			
				|  |  |  |  |                       }), | 
		
	
		
			
				|  |  |  |  |                     ], | 
		
	
		
			
				|  |  |  |  |                   ), | 
		
	
		
			
				|  |  |  |  |                 ), | 
		
	
		
			
				|  |  |  |  |               ), | 
		
	
		
			
				|  |  |  |  |             ), | 
		
	
	
		
			
				
					|  |  |  | @ -204,81 +203,79 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> { | 
		
	
		
			
				|  |  |  |  |                     ), | 
		
	
		
			
				|  |  |  |  |                     child: Consumer<PayfortViewModel>(builder: (context, payfortVM, child) { | 
		
	
		
			
				|  |  |  |  |                       //TODO: Need to add loading state & animation for Apple Pay Configuration | 
		
	
		
			
				|  |  |  |  |                       return payfortVM.isApplePayConfigurationLoading | 
		
	
		
			
				|  |  |  |  |                           ? const MoviesShimmerWidget().paddingAll(16.h) | 
		
	
		
			
				|  |  |  |  |                           : Column( | 
		
	
		
			
				|  |  |  |  |                               crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                               children: [ | 
		
	
		
			
				|  |  |  |  |                                 (myAppointmentsVM.patientAppointmentShareResponseModel!.isCash ?? true) | 
		
	
		
			
				|  |  |  |  |                                     ? Container( | 
		
	
		
			
				|  |  |  |  |                                         height: 50.h, | 
		
	
		
			
				|  |  |  |  |                                         decoration: ShapeDecoration( | 
		
	
		
			
				|  |  |  |  |                                           color: AppColors.secondaryLightRedBorderColor, | 
		
	
		
			
				|  |  |  |  |                                           shape: SmoothRectangleBorder( | 
		
	
		
			
				|  |  |  |  |                                             borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)), | 
		
	
		
			
				|  |  |  |  |                                             smoothness: 1, | 
		
	
		
			
				|  |  |  |  |                                           ), | 
		
	
		
			
				|  |  |  |  |                                         ), | 
		
	
		
			
				|  |  |  |  |                                         child: Row( | 
		
	
		
			
				|  |  |  |  |                                           mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                                           children: [ | 
		
	
		
			
				|  |  |  |  |                                             "Insurance expired or inactive".needTranslation.toText14(color: AppColors.primaryRedColor, weight: FontWeight.w500).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                             CustomButton( | 
		
	
		
			
				|  |  |  |  |                                               text: LocaleKeys.updateInsurance.tr(context: context), | 
		
	
		
			
				|  |  |  |  |                                               onPressed: () { | 
		
	
		
			
				|  |  |  |  |                                                 Navigator.of(context).push( | 
		
	
		
			
				|  |  |  |  |                                                   FadePage( | 
		
	
		
			
				|  |  |  |  |                                                     page: InsuranceHomePage(), | 
		
	
		
			
				|  |  |  |  |                                                   ), | 
		
	
		
			
				|  |  |  |  |                                                 ); | 
		
	
		
			
				|  |  |  |  |                                               }, | 
		
	
		
			
				|  |  |  |  |                                               backgroundColor: AppColors.primaryRedColor, | 
		
	
		
			
				|  |  |  |  |                                               borderColor: AppColors.secondaryLightRedBorderColor, | 
		
	
		
			
				|  |  |  |  |                                               textColor: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                                               fontSize: 10, | 
		
	
		
			
				|  |  |  |  |                                               fontWeight: FontWeight.w500, | 
		
	
		
			
				|  |  |  |  |                                               borderRadius: 8, | 
		
	
		
			
				|  |  |  |  |                                               padding: EdgeInsets.fromLTRB(15, 0, 15, 0), | 
		
	
		
			
				|  |  |  |  |                                               height: 30.h, | 
		
	
		
			
				|  |  |  |  |                                             ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                           ], | 
		
	
		
			
				|  |  |  |  |                                         ), | 
		
	
		
			
				|  |  |  |  |                                       ) | 
		
	
		
			
				|  |  |  |  |                                     : const SizedBox(), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 24.h), | 
		
	
		
			
				|  |  |  |  |                                 "Total amount to pay".needTranslation.toText18(isBold: true).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 17.h), | 
		
	
		
			
				|  |  |  |  |                                 Row( | 
		
	
		
			
				|  |  |  |  |                                   mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                                   children: [ | 
		
	
		
			
				|  |  |  |  |                                     "Total amount to pay".needTranslation.toText14(isBold: true), | 
		
	
		
			
				|  |  |  |  |                                     Utils.getPaymentAmountWithSymbol(myAppointmentsVM.patientAppointmentShareResponseModel!.patientShare!.toString().toText16(isBold: true), AppColors.blackColor, 13, | 
		
	
		
			
				|  |  |  |  |                                         isSaudiCurrency: true), | 
		
	
		
			
				|  |  |  |  |                                   ], | 
		
	
		
			
				|  |  |  |  |                                 ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                 Row( | 
		
	
		
			
				|  |  |  |  |                                   mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                                   children: [ | 
		
	
		
			
				|  |  |  |  |                                     "VAT 15%".needTranslation.toText14(isBold: true, color: AppColors.greyTextColor), | 
		
	
		
			
				|  |  |  |  |                                     Utils.getPaymentAmountWithSymbol( | 
		
	
		
			
				|  |  |  |  |                                         myAppointmentsVM.patientAppointmentShareResponseModel!.patientTaxAmount!.toString().toText14(isBold: true, color: AppColors.greyTextColor), | 
		
	
		
			
				|  |  |  |  |                                         AppColors.greyTextColor, | 
		
	
		
			
				|  |  |  |  |                                         13, | 
		
	
		
			
				|  |  |  |  |                                         isSaudiCurrency: true), | 
		
	
		
			
				|  |  |  |  |                                   ], | 
		
	
		
			
				|  |  |  |  |                                 ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 17.h), | 
		
	
		
			
				|  |  |  |  |                                 Row( | 
		
	
		
			
				|  |  |  |  |                                   mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                                   children: [ | 
		
	
		
			
				|  |  |  |  |                                     "".needTranslation.toText14(isBold: true), | 
		
	
		
			
				|  |  |  |  |                                     Utils.getPaymentAmountWithSymbol( | 
		
	
		
			
				|  |  |  |  |                                         myAppointmentsVM.patientAppointmentShareResponseModel!.patientShareWithTax!.toString().toText24(isBold: true), AppColors.blackColor, 17, | 
		
	
		
			
				|  |  |  |  |                                         isSaudiCurrency: true), | 
		
	
		
			
				|  |  |  |  |                                   ], | 
		
	
		
			
				|  |  |  |  |                                 ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                 //TODO: Add Apple Pay Privileges | 
		
	
		
			
				|  |  |  |  |                                 Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                       return Column( | 
		
	
		
			
				|  |  |  |  |                         crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
		
			
				|  |  |  |  |                         children: [ | 
		
	
		
			
				|  |  |  |  |                           (myAppointmentsVM.patientAppointmentShareResponseModel!.isCash ?? true) | 
		
	
		
			
				|  |  |  |  |                               ? Container( | 
		
	
		
			
				|  |  |  |  |                                   height: 50.h, | 
		
	
		
			
				|  |  |  |  |                                   decoration: ShapeDecoration( | 
		
	
		
			
				|  |  |  |  |                                     color: AppColors.secondaryLightRedBorderColor, | 
		
	
		
			
				|  |  |  |  |                                     shape: SmoothRectangleBorder( | 
		
	
		
			
				|  |  |  |  |                                       borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)), | 
		
	
		
			
				|  |  |  |  |                                       smoothness: 1, | 
		
	
		
			
				|  |  |  |  |                                     ), | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                   child: Row( | 
		
	
		
			
				|  |  |  |  |                                     mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                                     children: [ | 
		
	
		
			
				|  |  |  |  |                                       "Insurance expired or inactive".needTranslation.toText14(color: AppColors.primaryRedColor, weight: FontWeight.w500).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                       CustomButton( | 
		
	
		
			
				|  |  |  |  |                                         text: LocaleKeys.updateInsurance.tr(context: context), | 
		
	
		
			
				|  |  |  |  |                                         onPressed: () { | 
		
	
		
			
				|  |  |  |  |                                           Navigator.of(context).push( | 
		
	
		
			
				|  |  |  |  |                                             CustomPageRoute( | 
		
	
		
			
				|  |  |  |  |                                               page: InsuranceHomePage(), | 
		
	
		
			
				|  |  |  |  |                                             ), | 
		
	
		
			
				|  |  |  |  |                                           ); | 
		
	
		
			
				|  |  |  |  |                                         }, | 
		
	
		
			
				|  |  |  |  |                                         backgroundColor: AppColors.primaryRedColor, | 
		
	
		
			
				|  |  |  |  |                                         borderColor: AppColors.secondaryLightRedBorderColor, | 
		
	
		
			
				|  |  |  |  |                                         textColor: AppColors.whiteColor, | 
		
	
		
			
				|  |  |  |  |                                         fontSize: 10, | 
		
	
		
			
				|  |  |  |  |                                         fontWeight: FontWeight.w500, | 
		
	
		
			
				|  |  |  |  |                                         borderRadius: 8, | 
		
	
		
			
				|  |  |  |  |                                         padding: EdgeInsets.fromLTRB(15, 0, 15, 0), | 
		
	
		
			
				|  |  |  |  |                                         height: 30.h, | 
		
	
		
			
				|  |  |  |  |                                       ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                                     ], | 
		
	
		
			
				|  |  |  |  |                                   ), | 
		
	
		
			
				|  |  |  |  |                                 ) | 
		
	
		
			
				|  |  |  |  |                               : const SizedBox(), | 
		
	
		
			
				|  |  |  |  |                           SizedBox(height: 24.h), | 
		
	
		
			
				|  |  |  |  |                           "Total amount to pay".needTranslation.toText18(isBold: true).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                           SizedBox(height: 17.h), | 
		
	
		
			
				|  |  |  |  |                           Row( | 
		
	
		
			
				|  |  |  |  |                             mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                             children: [ | 
		
	
		
			
				|  |  |  |  |                               "Total amount to pay".needTranslation.toText14(isBold: true), | 
		
	
		
			
				|  |  |  |  |                               Utils.getPaymentAmountWithSymbol(myAppointmentsVM.patientAppointmentShareResponseModel!.patientShare!.toString().toText16(isBold: true), AppColors.blackColor, 13, | 
		
	
		
			
				|  |  |  |  |                                   isSaudiCurrency: true), | 
		
	
		
			
				|  |  |  |  |                             ], | 
		
	
		
			
				|  |  |  |  |                           ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                           Row( | 
		
	
		
			
				|  |  |  |  |                             mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                             children: [ | 
		
	
		
			
				|  |  |  |  |                               "VAT 15%".needTranslation.toText14(isBold: true, color: AppColors.greyTextColor), | 
		
	
		
			
				|  |  |  |  |                               Utils.getPaymentAmountWithSymbol( | 
		
	
		
			
				|  |  |  |  |                                   myAppointmentsVM.patientAppointmentShareResponseModel!.patientTaxAmount!.toString().toText14(isBold: true, color: AppColors.greyTextColor), | 
		
	
		
			
				|  |  |  |  |                                   AppColors.greyTextColor, | 
		
	
		
			
				|  |  |  |  |                                   13, | 
		
	
		
			
				|  |  |  |  |                                   isSaudiCurrency: true), | 
		
	
		
			
				|  |  |  |  |                             ], | 
		
	
		
			
				|  |  |  |  |                           ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                           SizedBox(height: 17.h), | 
		
	
		
			
				|  |  |  |  |                           Row( | 
		
	
		
			
				|  |  |  |  |                             mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
		
	
		
			
				|  |  |  |  |                             children: [ | 
		
	
		
			
				|  |  |  |  |                               "".needTranslation.toText14(isBold: true), | 
		
	
		
			
				|  |  |  |  |                               Utils.getPaymentAmountWithSymbol(myAppointmentsVM.patientAppointmentShareResponseModel!.patientShareWithTax!.toString().toText24(isBold: true), AppColors.blackColor, 17, | 
		
	
		
			
				|  |  |  |  |                                   isSaudiCurrency: true), | 
		
	
		
			
				|  |  |  |  |                             ], | 
		
	
		
			
				|  |  |  |  |                           ).paddingSymmetrical(24.h, 0.h), | 
		
	
		
			
				|  |  |  |  |                           //TODO: Add Apple Pay Privileges | 
		
	
		
			
				|  |  |  |  |                           Platform.isIOS | 
		
	
		
			
				|  |  |  |  |                               ? Utils.buildSvgWithAssets( | 
		
	
		
			
				|  |  |  |  |                                   icon: AppAssets.apple_pay_button, | 
		
	
		
			
				|  |  |  |  |                                   width: 200.h, | 
		
	
		
			
				|  |  |  |  |                                   height: 80.h, | 
		
	
	
		
			
				
					|  |  |  | @ -286,10 +283,11 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> { | 
		
	
		
			
				|  |  |  |  |                                 ).paddingSymmetrical(24.h, 0.h).onPress(() { | 
		
	
		
			
				|  |  |  |  |                                   // payfortVM.setIsApplePayConfigurationLoading(true); | 
		
	
		
			
				|  |  |  |  |                                   startApplePay(); | 
		
	
		
			
				|  |  |  |  |                                 }), | 
		
	
		
			
				|  |  |  |  |                                 SizedBox(height: 12.h), | 
		
	
		
			
				|  |  |  |  |                               ], | 
		
	
		
			
				|  |  |  |  |                             ); | 
		
	
		
			
				|  |  |  |  |                                 }) | 
		
	
		
			
				|  |  |  |  |                               : SizedBox(height: 12.h), | 
		
	
		
			
				|  |  |  |  |                           SizedBox(height: 12.h), | 
		
	
		
			
				|  |  |  |  |                         ], | 
		
	
		
			
				|  |  |  |  |                       ); | 
		
	
		
			
				|  |  |  |  |                     }), | 
		
	
		
			
				|  |  |  |  |                   ), | 
		
	
		
			
				|  |  |  |  |           ], | 
		
	
	
		
			
				
					|  |  |  | @ -389,12 +387,12 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> { | 
		
	
		
			
				|  |  |  |  |                                   Navigator.of(context).pop(); | 
		
	
		
			
				|  |  |  |  |                                   Navigator.pushAndRemoveUntil( | 
		
	
		
			
				|  |  |  |  |                                       context, | 
		
	
		
			
				|  |  |  |  |                                       FadePage( | 
		
	
		
			
				|  |  |  |  |                                       CustomPageRoute( | 
		
	
		
			
				|  |  |  |  |                                         page: LandingNavigation(), | 
		
	
		
			
				|  |  |  |  |                                       ), | 
		
	
		
			
				|  |  |  |  |                                       (r) => false); | 
		
	
		
			
				|  |  |  |  |                                   Navigator.of(context).push( | 
		
	
		
			
				|  |  |  |  |                                     FadePage(page: MyAppointmentsPage()), | 
		
	
		
			
				|  |  |  |  |                                     CustomPageRoute(page: MyAppointmentsPage()), | 
		
	
		
			
				|  |  |  |  |                                   ); | 
		
	
		
			
				|  |  |  |  |                                 }); | 
		
	
		
			
				|  |  |  |  |                               }); | 
		
	
	
		
			
				
					|  |  |  | @ -528,6 +526,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> { | 
		
	
		
			
				|  |  |  |  |         onSucceeded: (successResult) async { | 
		
	
		
			
				|  |  |  |  |           Navigator.of(context).pop(); | 
		
	
		
			
				|  |  |  |  |           log("successResult: ${successResult.responseMessage.toString()}"); | 
		
	
		
			
				|  |  |  |  |           selectedPaymentMethod = successResult.paymentOption ?? "VISA"; | 
		
	
		
			
				|  |  |  |  |           checkPaymentStatus(); | 
		
	
		
			
				|  |  |  |  |         }, | 
		
	
		
			
				|  |  |  |  |         // projectId: appo.projectID, | 
		
	
	
		
			
				
					|  |  |  | 
 |