|
|
|
|
@ -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,
|
|
|
|
|
|