6/18/3
This commit is contained in:
10
.env
10
.env
@@ -1,5 +1,5 @@
|
|||||||
basicAuthCredentials=wqnmqqsjyvwv:nqrYJP@1737XrXlBl
|
basicAuthCredentials=wqnmqqsjyvwv:nqrYJP@1737XrXlBl
|
||||||
basicCompareFaces=seferface:malDev@2101
|
basicCompareFaces=zjujluqfj:nqrYjp@1737XrXlBl
|
||||||
basicCompareFacesURL='https://face-detect-f6924392c4c7.herokuapp.com/compare_faces'
|
basicCompareFacesURL='https://face-detect-f6924392c4c7.herokuapp.com/compare_faces'
|
||||||
accountSIDTwillo=QFx0qy456juj3839xuy2194q629q1fj0y7XrXlBl
|
accountSIDTwillo=QFx0qy456juj3839xuy2194q629q1fj0y7XrXlBl
|
||||||
serverAPI=QQQQobSrrFi:QVQ87xU7zwCvmZzZdaxuS2f23Y4mz7MzyOzr8od2br6KYyeFaTVLG3K3hx5ZaUyx7eYvAYpAVdKk-286NTRi3zs9iSOnXtXRIxswg3KecBmsl3VxJ9wO-vIpwu4Pv7dkHkXniuxMSDgWXrXlBl
|
serverAPI=QQQQobSrrFi:QVQ87xU7zwCvmZzZdaxuS2f23Y4mz7MzyOzr8od2br6KYyeFaTVLG3K3hx5ZaUyx7eYvAYpAVdKk-286NTRi3zs9iSOnXtXRIxswg3KecBmsl3VxJ9wO-vIpwu4Pv7dkHkXniuxMSDgWXrXlBl
|
||||||
@@ -14,7 +14,7 @@ chatGPTkeySeferNew=zg-Z4AJcAROgNXjgrEIU8fKC9XrxgUE4Qtrrlq1yiux0jL3dITSXrXlBl
|
|||||||
secretKey=zg_ropj_57Iiv6MFCBFq3C2n6IXlmjykpxDmW93SW3vvXh68UA9T5FORTWgWsT37StKsOPdwDdsy8qR9srMUluahs3nPHvgBa33tGk90vV5XrXlBl
|
secretKey=zg_ropj_57Iiv6MFCBFq3C2n6IXlmjykpxDmW93SW3vvXh68UA9T5FORTWgWsT37StKsOPdwDdsy8qR9srMUluahs3nPHvgBa33tGk90vV5XrXlBl
|
||||||
stripe_publishableKe=vg_ropj_57Iiv6MFCBFq3C2n6kNJnZByV6nuDtXe9IjEPOfhmpDtWmt3MLR0gQpiHcQmAFMUPrZc3QiCDjxBZLbxDC3efxWxz33bWH1ZgrsXrXlBl
|
stripe_publishableKe=vg_ropj_57Iiv6MFCBFq3C2n6kNJnZByV6nuDtXe9IjEPOfhmpDtWmt3MLR0gQpiHcQmAFMUPrZc3QiCDjxBZLbxDC3efxWxz33bWH1ZgrsXrXlBl
|
||||||
llamaKey=RR-EuyoFDUvfRDBj46fZKAtKJ3voM8Mt768cPeJV7GNdAkPTKdY8Odm9n4ggGqI5GyoXrXlBl
|
llamaKey=RR-EuyoFDUvfRDBj46fZKAtKJ3voM8Mt768cPeJV7GNdAkPTKdY8Odm9n4ggGqI5GyoXrXlBl
|
||||||
serverPHP=https://api.sefer.live/sefer/
|
serverPHP=https://api.sefer.live/sefer
|
||||||
cohere=Aulwd8y5SPWos0hJhG0toUf8gOhUUrpf5Q2TPmVGXrXlBl
|
cohere=Aulwd8y5SPWos0hJhG0toUf8gOhUUrpf5Q2TPmVGXrXlBl
|
||||||
claudeAiAPI=zg-qbc-qvo39-xWOxIGwWTOzCFBnIYSKKhfyz_KVAvrH-6_4ZEJL68G_QBH26oeTOMMoQug9KuOjjKSP_A4S3SUDlbxR9duVzoQ-MkX_UQQQXrXlBl
|
claudeAiAPI=zg-qbc-qvo39-xWOxIGwWTOzCFBnIYSKKhfyz_KVAvrH-6_4ZEJL68G_QBH26oeTOMMoQug9KuOjjKSP_A4S3SUDlbxR9duVzoQ-MkX_UQQQXrXlBl
|
||||||
payPalClientId=QALymfNI5Tzt4s-ysoz6vD4_nqX0SUtkC_qYV-Ugk5gaM_8Z-kg4L53k8Uux_4jEWXDkNpXGSWPpIzDFXrXlBl
|
payPalClientId=QALymfNI5Tzt4s-ysoz6vD4_nqX0SUtkC_qYV-Ugk5gaM_8Z-kg4L53k8Uux_4jEWXDkNpXGSWPpIzDFXrXlBl
|
||||||
@@ -34,4 +34,8 @@ ocpApimSubscriptionKey=17373j50x53u07q0830634f512j731yuXrXlBl
|
|||||||
smsPasswordEgypt="J)Vh=qb/@MXrXlBl"
|
smsPasswordEgypt="J)Vh=qb/@MXrXlBl"
|
||||||
chatGPTkeySeferNew4=zg-vlie-2l1ZlpxiLJ6wQOvbb4TnC9XrxgUEyVQIu6TID4qP4FUUqoS5XrXlBl
|
chatGPTkeySeferNew4=zg-vlie-2l1ZlpxiLJ6wQOvbb4TnC9XrxgUEyVQIu6TID4qP4FUUqoS5XrXlBl
|
||||||
anthropicAIkeySeferNew=zg-qbc-qvo39-n4VdMQ5nuJeIYhMN4PDYr7qox3-t2i1Lh7aNTDfYF-Gf8whUJZCs47EeelKn8_UcmUMmiSLaf0UJg0DvUlQrDt-76CRrkQQXrXlBl
|
anthropicAIkeySeferNew=zg-qbc-qvo39-n4VdMQ5nuJeIYhMN4PDYr7qox3-t2i1Lh7aNTDfYF-Gf8whUJZCs47EeelKn8_UcmUMmiSLaf0UJg0DvUlQrDt-76CRrkQQXrXlBl
|
||||||
llama3Key=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
|
llama3Key=kzg_uTXy3e9DBbCQ1FnMGxYwTKysx9US1burxJj4fFwOje4LZBUFKJS1XrXlBl
|
||||||
|
payMobOutClientSecrret='wcP2bUQBRYy254hjCJhNlOatefDzifNDnXRQSiu6UhhcXfZdyCyiBaUr9JQpI2mlIkKVRyoNliuBv1P8QZPLveiZrUeYBLmS6wuVhbQEJku1B5MHhgbB0AboqaOMpqBcXrXlBl'
|
||||||
|
payMobOutClient_id='gnBTH5kGzR4RGPwzEUxIKCJx9SA5zAwpXiX4vaiTXrXlBl'
|
||||||
|
payMobOutPassword='#f9vZtxHdIGvAbl5wWMQkvgZTXrXlBl'
|
||||||
|
payMobOutUserName='zjujl_qvo_fwjfgjlXrXlBl'
|
||||||
|
|||||||
@@ -60,4 +60,13 @@ class AK {
|
|||||||
a.r(a.r(a.r(Env.chatGPTkeySeferNew4, cn), cC), cs);
|
a.r(a.r(a.r(Env.chatGPTkeySeferNew4, cn), cC), cs);
|
||||||
static final String anthropicAIkeySeferNew =
|
static final String anthropicAIkeySeferNew =
|
||||||
a.r(a.r(a.r(Env.anthropicAIkeySeferNew, cn), cC), cs);
|
a.r(a.r(a.r(Env.anthropicAIkeySeferNew, cn), cC), cs);
|
||||||
|
static final String llama3Key = a.r(a.r(a.r(Env.llama3Key, cn), cC), cs);
|
||||||
|
static final String payMobOutClientSecrret =
|
||||||
|
a.r(a.r(a.r(Env.payMobOutClientSecrret, cn), cC), cs);
|
||||||
|
static final String payMobOutClient_id =
|
||||||
|
a.r(a.r(a.r(Env.payMobOutClient_id, cn), cC), cs);
|
||||||
|
static final String payMobOutPassword =
|
||||||
|
a.r(a.r(a.r(Env.payMobOutPassword, cn), cC), cs);
|
||||||
|
static final String payMobOutUserName =
|
||||||
|
a.r(a.r(a.r(Env.payMobOutUserName, cn), cC), cs);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:SEFER/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:SEFER/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:SEFER/constant/colors.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:SEFER/main.dart';
|
||||||
@@ -22,11 +23,10 @@ class PaymobPayout extends GetxController {
|
|||||||
};
|
};
|
||||||
var body = {
|
var body = {
|
||||||
'grant_type': 'password',
|
'grant_type': 'password',
|
||||||
'username': 'sefer_api_checker',
|
'username': AK.payMobOutUserName,
|
||||||
'password': '#c3pSwbUxOKpQnr5hHZAgpkSW',
|
'password': AK.payMobOutPassword,
|
||||||
'client_id': 'kmNWU5gKsL8LKVhsJFbOGTEb3YQ5sQhvBoB8pqoW',
|
'client_id': AK.payMobOutClient_id,
|
||||||
'client_secret':
|
'client_secret': AK.payMobOutClientSecrret
|
||||||
'htV6nFANLDd658ueTEuMrIqwjcXsocMXmBLAYof7FuutBcSxdTdoNqFl3EAvO6zrOgGPLdiMrofNp2V9ASVRpjoSlFjDNRzY7hfPunAJEgf2N5ZUuknN4QniaqIZvaNt'
|
|
||||||
};
|
};
|
||||||
var res = await http.post(
|
var res = await http.post(
|
||||||
Uri.parse(
|
Uri.parse(
|
||||||
@@ -65,11 +65,15 @@ class PaymobPayout extends GetxController {
|
|||||||
print('-----');
|
print('-----');
|
||||||
var dec = jsonDecode(res.body);
|
var dec = jsonDecode(res.body);
|
||||||
if (dec['disbursement_status'] == 'successful') {
|
if (dec['disbursement_status'] == 'successful') {
|
||||||
|
var paymentToken = await Get.find<CaptainWalletController>()
|
||||||
|
.generateToken(
|
||||||
|
((-1) * (double.parse(dec['amount'])) + 5).toStringAsFixed(0));
|
||||||
await CRUD().post(link: AppLink.addDrivePayment, payload: {
|
await CRUD().post(link: AppLink.addDrivePayment, payload: {
|
||||||
'rideId': DateTime.now().toIso8601String(),
|
'rideId': DateTime.now().toIso8601String(),
|
||||||
'amount': ((-1) * (double.parse(dec['amount'])) + 5).toStringAsFixed(0),
|
'amount': ((-1) * (double.parse(dec['amount'])) + 5).toStringAsFixed(0),
|
||||||
'payment_method': 'payout',
|
'payment_method': 'payout',
|
||||||
'passengerID': 'myself',
|
'passengerID': 'myself',
|
||||||
|
'token': paymentToken,
|
||||||
'driverID': box.read(BoxName.driverID).toString(),
|
'driverID': box.read(BoxName.driverID).toString(),
|
||||||
});
|
});
|
||||||
Get.snackbar('Transaction successful'.tr,
|
Get.snackbar('Transaction successful'.tr,
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ class PaymentController extends GetxController {
|
|||||||
bool isPromoSheetDialogue = false;
|
bool isPromoSheetDialogue = false;
|
||||||
final formKey = GlobalKey<FormState>();
|
final formKey = GlobalKey<FormState>();
|
||||||
final promo = TextEditingController();
|
final promo = TextEditingController();
|
||||||
double totalPassenger =
|
// double totalPassenger =
|
||||||
double.parse(Get.find<MapDriverController>().totalPricePassenger);
|
// double.parse(Get.find<MapDriverController>().totalPricePassenger);
|
||||||
int? selectedAmount = 0;
|
int? selectedAmount = 0;
|
||||||
List<dynamic> totalPassengerWalletDetails = [];
|
List<dynamic> totalPassengerWalletDetails = [];
|
||||||
String passengerTotalWalletAmount = '';
|
String passengerTotalWalletAmount = '';
|
||||||
@@ -81,33 +81,33 @@ class PaymentController extends GetxController {
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void onChangedPaymentMethodWallet(bool? value) {
|
// void onChangedPaymentMethodWallet(bool? value) {
|
||||||
if (box.read(BoxName.passengerWalletTotal) == null ||
|
// if (box.read(BoxName.passengerWalletTotal) == null ||
|
||||||
double.parse(box.read(BoxName.passengerWalletTotal).toString()) <
|
// double.parse(box.read(BoxName.passengerWalletTotal).toString()) <
|
||||||
totalPassenger) {
|
// totalPassenger) {
|
||||||
isWalletChecked = false;
|
// isWalletChecked = false;
|
||||||
isWalletChecked ? isCashChecked = true : isCashChecked = true;
|
// isWalletChecked ? isCashChecked = true : isCashChecked = true;
|
||||||
update();
|
// update();
|
||||||
} else {
|
// } else {
|
||||||
isWalletChecked = !isWalletChecked;
|
// isWalletChecked = !isWalletChecked;
|
||||||
isWalletChecked ? isCashChecked = false : isCashChecked = true;
|
// isWalletChecked ? isCashChecked = false : isCashChecked = true;
|
||||||
update();
|
// update();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
void onChangedPaymentMethodCash(bool? value) {
|
// void onChangedPaymentMethodCash(bool? value) {
|
||||||
if (box.read(BoxName.passengerWalletTotal) == null ||
|
// if (box.read(BoxName.passengerWalletTotal) == null ||
|
||||||
double.parse(box.read(BoxName.passengerWalletTotal)) < totalPassenger) {
|
// double.parse(box.read(BoxName.passengerWalletTotal)) < totalPassenger) {
|
||||||
isWalletChecked = false;
|
// isWalletChecked = false;
|
||||||
isCashChecked = !isCashChecked;
|
// isCashChecked = !isCashChecked;
|
||||||
isCashChecked ? isWalletChecked = false : isWalletChecked = false;
|
// isCashChecked ? isWalletChecked = false : isWalletChecked = false;
|
||||||
update();
|
// update();
|
||||||
} else {
|
// } else {
|
||||||
isCashChecked = !isCashChecked;
|
// isCashChecked = !isCashChecked;
|
||||||
isCashChecked ? isWalletChecked = false : isWalletChecked = true;
|
// isCashChecked ? isWalletChecked = false : isWalletChecked = true;
|
||||||
update();
|
// update();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
late String clientSecret;
|
late String clientSecret;
|
||||||
|
|
||||||
|
|||||||
5004
lib/env.g.dart
Normal file
5004
lib/env.g.dart
Normal file
File diff suppressed because it is too large
Load Diff
@@ -28,11 +28,11 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
|
|||||||
// child: IconButton(
|
// child: IconButton(
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// AC credentials = AC();
|
// AC credentials = AC();
|
||||||
// String apiKey = '21010e54b50f41a4904708c526e102df';
|
// String apiKey = 'seferface:malDev@2101';
|
||||||
// String convertedStringN = credentials.c(
|
// String convertedStringN = credentials.c(
|
||||||
// credentials.c(credentials.c(apiKey, cs), cC), cn);
|
// credentials.c(credentials.c(apiKey, cs), cC), cn);
|
||||||
// print('Converted v: $convertedStringN');
|
// print('Converted v: $convertedStringN');
|
||||||
|
//
|
||||||
// String retrievedStringS = credentials.r(
|
// String retrievedStringS = credentials.r(
|
||||||
// credentials.r(credentials.r(convertedStringN, cn), cC),
|
// credentials.r(credentials.r(convertedStringN, cn), cC),
|
||||||
// cs);
|
// cs);
|
||||||
@@ -48,9 +48,9 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
|
|||||||
// color: Colors.black,
|
// color: Colors.black,
|
||||||
// )),
|
// )),
|
||||||
// ),
|
// ),
|
||||||
// const SizedBox(
|
const SizedBox(
|
||||||
// height: 5,
|
height: 5,
|
||||||
// ),
|
),
|
||||||
AnimatedContainer(
|
AnimatedContainer(
|
||||||
duration: const Duration(microseconds: 200),
|
duration: const Duration(microseconds: 200),
|
||||||
width: controller.widthMapTypeAndTraffic,
|
width: controller.widthMapTypeAndTraffic,
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class CardSeferWalletDriver extends StatelessWidget {
|
|||||||
// box.write(BoxName.cvvCode, 1111);
|
// box.write(BoxName.cvvCode, 1111);
|
||||||
if (double.parse(
|
if (double.parse(
|
||||||
Get.find<CaptainWalletController>().totalAmountVisa) >
|
Get.find<CaptainWalletController>().totalAmountVisa) >
|
||||||
100) {
|
40) {
|
||||||
Get.defaultDialog(
|
Get.defaultDialog(
|
||||||
barrierDismissible: false,
|
barrierDismissible: false,
|
||||||
title: 'Do you want to collect your earnings?'.tr,
|
title: 'Do you want to collect your earnings?'.tr,
|
||||||
@@ -96,7 +96,7 @@ class CardSeferWalletDriver extends StatelessWidget {
|
|||||||
.validate()) {
|
.validate()) {
|
||||||
if (double.parse(Get.find<CaptainWalletController>()
|
if (double.parse(Get.find<CaptainWalletController>()
|
||||||
.totalAmountVisa) >
|
.totalAmountVisa) >
|
||||||
100) {
|
40) {
|
||||||
Get.back();
|
Get.back();
|
||||||
String amountAfter5LE = (double.parse(
|
String amountAfter5LE = (double.parse(
|
||||||
Get.find<CaptainWalletController>()
|
Get.find<CaptainWalletController>()
|
||||||
|
|||||||
@@ -1,136 +0,0 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:SEFER/views/home/my_wallet/payment_history_passenger_page.dart';
|
|
||||||
import '../../../constant/box_name.dart';
|
|
||||||
import '../../../constant/colors.dart';
|
|
||||||
import '../../../constant/info.dart';
|
|
||||||
import '../../../constant/style.dart';
|
|
||||||
import '../../../controller/home/payment/credit_card_controller.dart';
|
|
||||||
import '../../../controller/payment/payment_controller.dart';
|
|
||||||
import '../../../main.dart';
|
|
||||||
import '../../widgets/elevated_btn.dart';
|
|
||||||
import '../../widgets/my_scafold.dart';
|
|
||||||
import 'passenger_wallet_dialoge.dart';
|
|
||||||
|
|
||||||
class PassengerWallet extends StatelessWidget {
|
|
||||||
const PassengerWallet({super.key});
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
Get.put(PaymentController());
|
|
||||||
Get.put(CreditCardController());
|
|
||||||
return MyScafolld(
|
|
||||||
title: 'My Wallet'.tr,
|
|
||||||
isleading: true,
|
|
||||||
body: [
|
|
||||||
GetBuilder<PaymentController>(
|
|
||||||
builder: (controller) => Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
const CardSeferWallet(),
|
|
||||||
const SizedBox(
|
|
||||||
height: 20,
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 30),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
MyElevatedButton(
|
|
||||||
kolor: AppColor.blueColor,
|
|
||||||
title: 'Payment History'.tr,
|
|
||||||
onPressed: () {
|
|
||||||
Get.to(() => const PaymentHistoryPassengerPage(),
|
|
||||||
transition: Transition.size);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
GetBuilder<PaymentController>(
|
|
||||||
builder: (controller) => controller.isPromoSheetDialogue
|
|
||||||
? Container(
|
|
||||||
color: AppColor.accentColor.withOpacity(.91),
|
|
||||||
)
|
|
||||||
: const SizedBox()),
|
|
||||||
GetBuilder<PaymentController>(
|
|
||||||
builder: (controller) => Positioned(
|
|
||||||
bottom: Get.height * .2,
|
|
||||||
left: Get.width * .2,
|
|
||||||
right: Get.width * .2,
|
|
||||||
child: MyElevatedButton(
|
|
||||||
title: 'Show Promos to Charge'.tr,
|
|
||||||
onPressed: () {
|
|
||||||
controller.changePromoSheetDialogue();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)),
|
|
||||||
const PassengerWalletDialoge(),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class CardSeferWallet extends StatelessWidget {
|
|
||||||
const CardSeferWallet({
|
|
||||||
super.key,
|
|
||||||
});
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return GetBuilder<PaymentController>(builder: (paymentController) {
|
|
||||||
return Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
width: Get.width * .85,
|
|
||||||
height: Get.height * .3,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: AppColor.deepPurpleAccent,
|
|
||||||
borderRadius: const BorderRadius.all(Radius.circular(12)),
|
|
||||||
gradient: const LinearGradient(
|
|
||||||
colors: [AppColor.blueColor, AppColor.primaryColor]),
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
||||||
children: [
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'${AppInformation.appName} Wallet',
|
|
||||||
style: AppStyle.headTitle
|
|
||||||
.copyWith(color: AppColor.primaryColor),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'${box.read(BoxName.passengerWalletTotal)} \$' ??
|
|
||||||
'0.0 \$',
|
|
||||||
style: AppStyle.headTitle2,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
box.read(BoxName.name),
|
|
||||||
style: AppStyle.title,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,264 +0,0 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:SEFER/constant/colors.dart';
|
|
||||||
import 'package:SEFER/constant/style.dart';
|
|
||||||
import 'package:SEFER/controller/functions/toast.dart';
|
|
||||||
import 'package:SEFER/controller/payment/payment_controller.dart';
|
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
|
||||||
|
|
||||||
import '../../../main.dart';
|
|
||||||
|
|
||||||
class PassengerWalletDialoge extends StatelessWidget {
|
|
||||||
const PassengerWalletDialoge({
|
|
||||||
super.key,
|
|
||||||
});
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return GetBuilder<PaymentController>(
|
|
||||||
builder: (controller) => Positioned(
|
|
||||||
top: Get.height * .1,
|
|
||||||
right: Get.width * .15,
|
|
||||||
left: Get.width * .15,
|
|
||||||
bottom: Get.height * .1,
|
|
||||||
child: controller.isPromoSheetDialogue
|
|
||||||
? Container(
|
|
||||||
decoration: const BoxDecoration(
|
|
||||||
borderRadius: BorderRadius.all(Radius.circular(12)),
|
|
||||||
color: AppColor.secondaryColor,
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: AppColor.accentColor,
|
|
||||||
offset: Offset(-1, -1),
|
|
||||||
blurRadius: 0,
|
|
||||||
spreadRadius: 0,
|
|
||||||
blurStyle: BlurStyle.normal),
|
|
||||||
BoxShadow(
|
|
||||||
color: AppColor.accentColor,
|
|
||||||
offset: Offset(3, 3),
|
|
||||||
blurRadius: 1,
|
|
||||||
spreadRadius: 0,
|
|
||||||
blurStyle: BlurStyle.normal)
|
|
||||||
]),
|
|
||||||
child: Padding(
|
|
||||||
padding: const EdgeInsets.all(6),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
controller.updateSelectedAmount(10);
|
|
||||||
},
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Radio(
|
|
||||||
value: box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? 100
|
|
||||||
: 10,
|
|
||||||
groupValue: controller.selectedAmount,
|
|
||||||
onChanged: (value) {
|
|
||||||
controller.updateSelectedAmount(value as int);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? '100 ${'LE'.tr}'.tr
|
|
||||||
: '10 ${'JOD'.tr}'.tr,
|
|
||||||
style: AppStyle.title,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
controller.updateSelectedAmount(20);
|
|
||||||
},
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Radio(
|
|
||||||
value:
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? 200
|
|
||||||
: 20,
|
|
||||||
groupValue: controller.selectedAmount,
|
|
||||||
onChanged: (value) {
|
|
||||||
controller
|
|
||||||
.updateSelectedAmount(value as int);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? '200 ${'LE'.tr} '.tr
|
|
||||||
: '20 ${'JOD'.tr}'.tr,
|
|
||||||
style: AppStyle.title,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)),
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
controller.updateSelectedAmount(40);
|
|
||||||
},
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Radio(
|
|
||||||
value:
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? 400
|
|
||||||
: 40,
|
|
||||||
groupValue: controller.selectedAmount,
|
|
||||||
onChanged: (value) {
|
|
||||||
controller
|
|
||||||
.updateSelectedAmount(value as int);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? '400 ${'LE'.tr} '.tr
|
|
||||||
: '40 ${'JOD'.tr}'.tr,
|
|
||||||
style: AppStyle.title,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)),
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
controller.updateSelectedAmount(100);
|
|
||||||
},
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Radio(
|
|
||||||
value:
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? 1000
|
|
||||||
: 50,
|
|
||||||
groupValue: controller.selectedAmount,
|
|
||||||
onChanged: (value) {
|
|
||||||
controller
|
|
||||||
.updateSelectedAmount(value as int);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? '1000 ${'LE'.tr} '.tr
|
|
||||||
: '50 ${'JOD'.tr}'.tr,
|
|
||||||
style: AppStyle.title,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)),
|
|
||||||
const Spacer(),
|
|
||||||
MyElevatedButton(
|
|
||||||
kolor: AppColor.blueColor,
|
|
||||||
title: '${'Pay with Your'.tr} PayPal',
|
|
||||||
onPressed: () {
|
|
||||||
if (controller.selectedAmount != 0) {
|
|
||||||
controller.makePaymentPayPal(context);
|
|
||||||
} else {
|
|
||||||
Toast.show(
|
|
||||||
context,
|
|
||||||
'You will choose one of above !'.tr,
|
|
||||||
AppColor.redColor);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
box.read(BoxName.countryCode) == 'Egypt'
|
|
||||||
? Column(
|
|
||||||
children: [
|
|
||||||
MyElevatedButton(
|
|
||||||
title: '💳 Pay with Credit Card'.tr,
|
|
||||||
onPressed: () {
|
|
||||||
if (controller.selectedAmount != 0) {
|
|
||||||
controller.payWithPayMob(
|
|
||||||
context,
|
|
||||||
controller.selectedAmount
|
|
||||||
.toString(), // Convert int to double
|
|
||||||
box.read(BoxName.countryCode) ==
|
|
||||||
'Egypt'
|
|
||||||
? 'EGP'
|
|
||||||
: 'JOD',
|
|
||||||
() async {
|
|
||||||
await controller
|
|
||||||
.addPassengerWallet();
|
|
||||||
controller
|
|
||||||
.changePromoSheetDialogue();
|
|
||||||
await controller
|
|
||||||
.getPassengerWallet();
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
Toast.show(
|
|
||||||
context,
|
|
||||||
'⚠️ You need to choose an amount!'.tr,
|
|
||||||
AppColor.redColor,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
// Add some spacing between buttons
|
|
||||||
MyElevatedButton(
|
|
||||||
kolor: AppColor.yellowColor,
|
|
||||||
title: '💰 Pay with Wallet'.tr,
|
|
||||||
onPressed: () {
|
|
||||||
if (controller.selectedAmount != 0) {
|
|
||||||
controller.payWithPayMobWallet(
|
|
||||||
context,
|
|
||||||
controller.selectedAmount
|
|
||||||
.toString(), // Convert int to double
|
|
||||||
box.read(BoxName.countryCode) ==
|
|
||||||
'Egypt'
|
|
||||||
? 'EGP'
|
|
||||||
: 'JOD',
|
|
||||||
() async {
|
|
||||||
await controller
|
|
||||||
.addPassengerWallet();
|
|
||||||
controller
|
|
||||||
.changePromoSheetDialogue();
|
|
||||||
await controller
|
|
||||||
.getPassengerWallet();
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
Toast.show(
|
|
||||||
context,
|
|
||||||
'⚠️ You need to choose an amount!'.tr,
|
|
||||||
AppColor.redColor,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
: MyElevatedButton(
|
|
||||||
title: 'Pay with Credit Card'.tr,
|
|
||||||
onPressed: () {
|
|
||||||
if (controller.selectedAmount != 0) {
|
|
||||||
controller.makePaymentStripe(
|
|
||||||
controller.selectedAmount!
|
|
||||||
.toDouble(), // Convert int to double
|
|
||||||
box.read(BoxName.countryCode) != 'Egypt'
|
|
||||||
? 'usd'
|
|
||||||
: 'jod', () {
|
|
||||||
controller.addPassengerWallet();
|
|
||||||
controller.changePromoSheetDialogue();
|
|
||||||
controller.getPassengerWallet();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
Toast.show(
|
|
||||||
context,
|
|
||||||
'You will choose one of above !'.tr,
|
|
||||||
AppColor.redColor);
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
MyElevatedButton(
|
|
||||||
title: 'Cancel'.tr,
|
|
||||||
kolor: AppColor.redColor,
|
|
||||||
onPressed: () {
|
|
||||||
controller.changePromoSheetDialogue();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
))
|
|
||||||
: const SizedBox()),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user