|
|
|
|
@ -16,9 +16,7 @@ class PaymentMethodsView extends StatelessWidget {
|
|
|
|
|
final PaymentTypes paymentType;
|
|
|
|
|
final Function? onTempContinue;
|
|
|
|
|
|
|
|
|
|
const PaymentMethodsView(
|
|
|
|
|
{Key? key, required this.paymentType, this.onTempContinue})
|
|
|
|
|
: super(key: key);
|
|
|
|
|
const PaymentMethodsView({Key? key, required this.paymentType, this.onTempContinue}) : super(key: key);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
@ -36,46 +34,29 @@ class PaymentMethodsView extends StatelessWidget {
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
20.height,
|
|
|
|
|
LocaleKeys.selectPaymentMethod
|
|
|
|
|
.tr()
|
|
|
|
|
.toText(fontSize: 18, isBold: true),
|
|
|
|
|
LocaleKeys.selectPaymentMethod.tr().toText(fontSize: 18, isBold: true),
|
|
|
|
|
15.height,
|
|
|
|
|
Consumer(
|
|
|
|
|
builder:
|
|
|
|
|
(BuildContext context, PaymentVM paymentVm, Widget? child) {
|
|
|
|
|
builder: (BuildContext context, PaymentVM paymentVm, Widget? child) {
|
|
|
|
|
return Expanded(
|
|
|
|
|
child: ListView(
|
|
|
|
|
shrinkWrap: true,
|
|
|
|
|
children: [
|
|
|
|
|
PaymentMethodContainer(
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod ==
|
|
|
|
|
PaymentMethods.mada,
|
|
|
|
|
onTap: () => paymentVm
|
|
|
|
|
.updateSelectedPaymentMethod(PaymentMethods.mada),
|
|
|
|
|
cardAsset: MyAssets.madaPng),
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod == PaymentMethods.mada, onTap: () => paymentVm.updateSelectedPaymentMethod(PaymentMethods.mada), cardAsset: MyAssets.madaPng),
|
|
|
|
|
PaymentMethodContainer(
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod ==
|
|
|
|
|
PaymentMethods.visa,
|
|
|
|
|
onTap: () => paymentVm
|
|
|
|
|
.updateSelectedPaymentMethod(PaymentMethods.visa),
|
|
|
|
|
cardAsset: MyAssets.visaPng),
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod == PaymentMethods.visa, onTap: () => paymentVm.updateSelectedPaymentMethod(PaymentMethods.visa), cardAsset: MyAssets.visaPng),
|
|
|
|
|
PaymentMethodContainer(
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod ==
|
|
|
|
|
PaymentMethods.applePay,
|
|
|
|
|
onTap: () => paymentVm.updateSelectedPaymentMethod(
|
|
|
|
|
PaymentMethods.applePay),
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod == PaymentMethods.applePay,
|
|
|
|
|
onTap: () => paymentVm.updateSelectedPaymentMethod(PaymentMethods.applePay),
|
|
|
|
|
cardAsset: MyAssets.applePayPng),
|
|
|
|
|
PaymentMethodContainer(
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod ==
|
|
|
|
|
PaymentMethods.masterCard,
|
|
|
|
|
onTap: () => paymentVm.updateSelectedPaymentMethod(
|
|
|
|
|
PaymentMethods.masterCard),
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod == PaymentMethods.masterCard,
|
|
|
|
|
onTap: () => paymentVm.updateSelectedPaymentMethod(PaymentMethods.masterCard),
|
|
|
|
|
cardAsset: MyAssets.mastercardPng),
|
|
|
|
|
PaymentMethodContainer(
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod ==
|
|
|
|
|
PaymentMethods.tamara,
|
|
|
|
|
onTap: () => paymentVm.updateSelectedPaymentMethod(
|
|
|
|
|
PaymentMethods.tamara),
|
|
|
|
|
isSelected: paymentVm.selectedPaymentMethod == PaymentMethods.tamara,
|
|
|
|
|
onTap: () => paymentVm.updateSelectedPaymentMethod(PaymentMethods.tamara),
|
|
|
|
|
cardAsset: MyAssets.tamaraEngPng),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
@ -93,10 +74,7 @@ class PaymentMethodsView extends StatelessWidget {
|
|
|
|
|
isNeedToCallPayment = await onTempContinue!();
|
|
|
|
|
}
|
|
|
|
|
if (isNeedToCallPayment) {
|
|
|
|
|
context.read<PaymentVM>().onContinuePressed(
|
|
|
|
|
context,
|
|
|
|
|
paymentType: paymentType,
|
|
|
|
|
);
|
|
|
|
|
context.read<PaymentVM>().onContinuePressed(context, paymentType: paymentType);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
backgroundColor: MyColors.darkPrimaryColor,
|
|
|
|
|
@ -114,12 +92,7 @@ class PaymentMethodContainer extends StatelessWidget {
|
|
|
|
|
final String cardAsset;
|
|
|
|
|
final Function() onTap;
|
|
|
|
|
|
|
|
|
|
const PaymentMethodContainer(
|
|
|
|
|
{Key? key,
|
|
|
|
|
required this.isSelected,
|
|
|
|
|
required this.cardAsset,
|
|
|
|
|
required this.onTap})
|
|
|
|
|
: super(key: key);
|
|
|
|
|
const PaymentMethodContainer({Key? key, required this.isSelected, required this.cardAsset, required this.onTap}) : super(key: key);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
@ -132,9 +105,7 @@ class PaymentMethodContainer extends StatelessWidget {
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
color: MyColors.white,
|
|
|
|
|
borderRadius: BorderRadius.circular(10),
|
|
|
|
|
border: Border.all(
|
|
|
|
|
color: isSelected ? Colors.green : Colors.transparent,
|
|
|
|
|
width: isSelected ? 2.0 : 0.0),
|
|
|
|
|
border: Border.all(color: isSelected ? Colors.green : Colors.transparent, width: isSelected ? 2.0 : 0.0),
|
|
|
|
|
),
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: const EdgeInsets.all(12),
|
|
|
|
|
@ -143,11 +114,7 @@ class PaymentMethodContainer extends StatelessWidget {
|
|
|
|
|
Container(
|
|
|
|
|
width: 24,
|
|
|
|
|
height: 24,
|
|
|
|
|
decoration: Utils.containerColorRadiusBorderWidth(
|
|
|
|
|
isSelected ? MyColors.primaryColor : Colors.transparent,
|
|
|
|
|
100,
|
|
|
|
|
Colors.grey,
|
|
|
|
|
0.5),
|
|
|
|
|
decoration: Utils.containerColorRadiusBorderWidth(isSelected ? MyColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
|
|
|
|
|
),
|
|
|
|
|
12.width,
|
|
|
|
|
Container(
|
|
|
|
|
@ -157,12 +124,7 @@ class PaymentMethodContainer extends StatelessWidget {
|
|
|
|
|
child: Image.asset(cardAsset),
|
|
|
|
|
),
|
|
|
|
|
Utils.mFlex(1),
|
|
|
|
|
isSelected
|
|
|
|
|
? Utils.statusContainerChip(
|
|
|
|
|
text: "Selected",
|
|
|
|
|
padding:
|
|
|
|
|
EdgeInsets.symmetric(vertical: 6, horizontal: 10))
|
|
|
|
|
: SizedBox(),
|
|
|
|
|
isSelected ? Utils.statusContainerChip(text: "Selected", padding: EdgeInsets.symmetric(vertical: 6, horizontal: 10)) : SizedBox(),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
|