diff --git a/lib/constant/links.dart b/lib/constant/links.dart index 8e767d0..0de09b2 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -141,4 +141,6 @@ class AppLink { static String sendVerifyEmailCaptin = "$authCaptin/sendVerifyEmail.php"; static String verifyEmailCaptin = "$authCaptin/verifyEmail.php"; static String removeUser = "$authCaptin/removeAccount.php"; + static String updateAccountBank = "$authCaptin/updateAccountBank.php"; + static String getAccount = "$authCaptin/getAccount.php"; } diff --git a/lib/controller/home/captin/help/help_controller.dart b/lib/controller/home/captin/help/help_controller.dart index cce59b7..65e06fa 100644 --- a/lib/controller/home/captin/help/help_controller.dart +++ b/lib/controller/home/captin/help/help_controller.dart @@ -52,6 +52,8 @@ class HelpController extends GetxController { }); if (res == "failure") { // print(res); + isLoading = false; + update(); Get.defaultDialog( title: 'There is no help Question here'.tr, titleStyle: AppStyle.title, diff --git a/lib/controller/home/payment/captain_wallet_controller.dart b/lib/controller/home/payment/captain_wallet_controller.dart index 58dccbe..7568cd7 100644 --- a/lib/controller/home/payment/captain_wallet_controller.dart +++ b/lib/controller/home/payment/captain_wallet_controller.dart @@ -14,6 +14,7 @@ class CaptainWalletController extends GetxController { final formKey = GlobalKey(); String totalAmount = '0'; String totalPoints = '0'; + Future getCaptainWalletFromRide() async { isLoading = true; update(); @@ -37,8 +38,14 @@ class CaptainWalletController extends GetxController { payload: {'driverID': box.read(BoxName.driverID)}, ); walletDriverPointsDate = jsonDecode(res); - totalPoints = - walletDriverPointsDate['message'][0]['total_amount'].toString(); + if (walletDriverPointsDate['message'][0]['driverID'].toString() == + box.read(BoxName.driverID)) { + totalPoints = + walletDriverPointsDate['message'][0]['total_amount'].toString(); + } else { + totalPoints = '0'; + } + isLoading = false; update(); } @@ -64,10 +71,25 @@ class CaptainWalletController extends GetxController { }); } + //check if account bank is created or not + Future checkAccountCaptainBank() async { + if (box.read(BoxName.accountIdStripeConnect).toString().isEmpty) { + var res = await CRUD().get(link: AppLink.getAccount, payload: { + 'id': box.read(BoxName.driverID).toString(), + }); + var d = jsonDecode(res); + if (d['status'] != 'failure') { + box.write(BoxName.accountIdStripeConnect, + d['message'][0]['accountBank'].toString()); + } + } + } + @override void onInit() { getCaptainWalletFromRide(); getCaptainWalletFromBuyPoints(); + checkAccountCaptainBank(); super.onInit(); } } diff --git a/lib/controller/payment/payment_controller.dart b/lib/controller/payment/payment_controller.dart index 3439d25..c6afd51 100644 --- a/lib/controller/payment/payment_controller.dart +++ b/lib/controller/payment/payment_controller.dart @@ -403,13 +403,24 @@ class PaymentController extends GetxController { payload: body, ); final responseData = jsonDecode(response); - print(responseData); + // print(responseData); final accountId = responseData['id']; box.write(BoxName.accountIdStripeConnect, accountId); + await updateCaptainAccountBank(); print('accountId = $accountId'); return accountId; } + Future updateCaptainAccountBank() async { + var res = await CRUD().post(link: AppLink.updateAccountBank, payload: { + 'id': box.read(BoxName.driverID), + 'accountBank': box.read(BoxName.accountIdStripeConnect), + }); + if (jsonDecode(res)['status'] == 'success') { + Get.snackbar('Account Updated', ''); + } + } + Future createTransactionToCaptain( String amount, String account) async { String url = 'https://api.stripe.com//v1/transfers'; @@ -427,7 +438,7 @@ class PaymentController extends GetxController { final responseData = jsonDecode(response); print(responseData); final transactionId = responseData['id']; - box.write(BoxName.accountIdStripeConnect, transactionId); + print('transactionId = $transactionId'); return transactionId; } diff --git a/lib/views/home/Captin/home_captain/help_captain.dart b/lib/views/home/Captin/home_captain/help_captain.dart index f4cd9da..d25a89e 100644 --- a/lib/views/home/Captin/home_captain/help_captain.dart +++ b/lib/views/home/Captin/home_captain/help_captain.dart @@ -18,137 +18,136 @@ class HelpCaptain extends StatelessWidget { return MyScafolld( title: 'Helping Page'.tr, body: [ - Positioned( - top: Get.height * .025, - right: 20, - left: 20, - child: Card( - color: AppColor.yellowColor, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - 'If you need any help or have question this is right site to do that and your welcome' - .tr, - style: AppStyle.title, - ), - ), - ), - ), - Positioned( - top: Get.height * .15, - right: 20, - left: 20, - child: Card( - elevation: 3, - color: AppColor.secondaryColor, + Column( + children: [ + Card( + color: AppColor.yellowColor, child: Padding( padding: const EdgeInsets.all(8.0), - child: GetBuilder( - builder: (helpController) => Form( - key: helpController.formKey, - child: Column( - children: [ - TextFormField( - controller: helpController.helpQuestionController, - decoration: const InputDecoration( - border: OutlineInputBorder(), - hintText: 'Enter your Question here', - labelText: 'Question', - ), - validator: (value) { - if (value == null || value.isEmpty) { - return 'Please enter your Question.'; - } - return null; - }, - ), - const SizedBox(height: 20), - helpController.isLoading - ? const MyCircularProgressIndicator() - : MyElevatedButton( - onPressed: () { - if (helpController.formKey.currentState! - .validate()) { - helpController.addHelpQuestion(); - - // Clear the feedback form - helpController.formKey.currentState! - .reset(); - } - }, - title: 'Submit Question'.tr, - ), - ], - )), + child: Text( + 'If you need any help or have question this is right site to do that and your welcome' + .tr, + style: AppStyle.title, ), - )), - ), - Positioned( - bottom: 3, - right: 8, - left: 8, - child: GetBuilder( - builder: (helpController) => Container( - height: Get.height * .63, - decoration: AppStyle.boxDecoration, - child: ListView.builder( - itemCount: - helpController.helpQuestionDate['message'].length, - itemBuilder: (BuildContext context, int index) { - var list = - helpController.helpQuestionDate['message'][index]; - return Padding( - padding: const EdgeInsets.all(3), - child: Container( - decoration: BoxDecoration( - border: Border.all( - color: AppColor.greenColor, - width: 3, + ), + ), + Card( + elevation: 3, + color: AppColor.secondaryColor, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: GetBuilder( + builder: (helpController) => Form( + key: helpController.formKey, + child: Column( + children: [ + SizedBox( + width: Get.width * .8, + child: TextFormField( + controller: + helpController.helpQuestionController, + decoration: const InputDecoration( + border: OutlineInputBorder(), + hintText: 'Enter your Question here', + labelText: 'Question', ), - borderRadius: BorderRadius.circular(11)), - // elevation: 3, - // color: AppColor.greenColor, - child: GestureDetector( - onTap: () { - print(list['id']); - helpController.getindex( - list['id'], list['helpQuestion']); - helpController - .getHelpRepley(list['id'].toString()); - Get.to( - () => const HelpDetailsReplayPage(), - ); - }, - child: Padding( - padding: const EdgeInsets.all(2), - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - width: Get.width * .6, - child: Text( - list['helpQuestion'], - style: AppStyle.title, + validator: (value) { + if (value == null || value.isEmpty) { + return 'Please enter your Question.'; + } + return null; + }, + ), + ), + const SizedBox(height: 20), + helpController.isLoading + ? const MyCircularProgressIndicator() + : MyElevatedButton( + onPressed: () { + if (helpController.formKey.currentState! + .validate()) { + helpController.addHelpQuestion(); + + // Clear the feedback form + helpController.formKey.currentState! + .reset(); + } + }, + title: 'Submit Question'.tr, + ), + ], + )), + ), + )), + GetBuilder( + builder: (helpController) => Container( + height: 400, + decoration: AppStyle.boxDecoration, + child: ListView.builder( + itemCount: helpController.helpQuestionDate['message'] != + null + ? helpController.helpQuestionDate['message'].length + : 0, + itemBuilder: (BuildContext context, int index) { + // if (helpController.helpQuestionDate['message'] == + // null) { + // return const CircularProgressIndicator(); + // } + var list = + helpController.helpQuestionDate['message'][index]; + return Padding( + padding: const EdgeInsets.all(3), + child: Container( + decoration: BoxDecoration( + border: Border.all( + color: AppColor.greenColor, + width: 3, + ), + borderRadius: BorderRadius.circular(11)), + // elevation: 3, + // color: AppColor.greenColor, + child: GestureDetector( + onTap: () { + print(list['id']); + helpController.getindex( + list['id'], list['helpQuestion']); + helpController + .getHelpRepley(list['id'].toString()); + Get.to( + () => const HelpDetailsReplayPage(), + ); + }, + child: Padding( + padding: const EdgeInsets.all(2), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: Get.width * .6, + child: Text( + list['helpQuestion'], + style: AppStyle.title, + ), ), - ), - SizedBox( - width: Get.width * .3, - child: Text( - list['datecreated'], - style: AppStyle.subtitle, + SizedBox( + width: Get.width * .3, + child: Text( + list['datecreated'], + style: AppStyle.subtitle, + ), ), - ), - ], + ], + ), ), ), ), - ), - ); - }, - ), - )), - ) + ); + }, + ), + )), + ], + ), ], isleading: true, ); diff --git a/lib/views/home/my_wallet/passenger_wallet.dart b/lib/views/home/my_wallet/passenger_wallet.dart index e6207b1..9ed5e39 100644 --- a/lib/views/home/my_wallet/passenger_wallet.dart +++ b/lib/views/home/my_wallet/passenger_wallet.dart @@ -197,23 +197,7 @@ class PassengerWallet extends StatelessWidget { }, ), )), - PassengerWalletDialoge(), - GetBuilder( - builder: (controller) => Positioned( - top: 440, - right: 100, - left: 100, - child: Column( - children: [ - MyElevatedButton( - title: 'createConnectAccount', - onPressed: () { - controller.createConnectAccount(); - }, - ), - ], - ), - )) + const PassengerWalletDialoge(), ], ); } diff --git a/lib/views/home/my_wallet/points_captain.dart b/lib/views/home/my_wallet/points_captain.dart index 4b4727e..805e641 100644 --- a/lib/views/home/my_wallet/points_captain.dart +++ b/lib/views/home/my_wallet/points_captain.dart @@ -27,6 +27,7 @@ class PointsCaptain extends StatelessWidget { await paymentController.makePaymentStripe(pricePoint, 'USD', () async { await captainWalletController.addDriverPayment('visa', pricePoint); await captainWalletController.addDriverWallet('visa', countPoint); + await captainWalletController.getCaptainWalletFromBuyPoints(); }); }, child: Container( diff --git a/lib/views/home/my_wallet/walet_captain.dart b/lib/views/home/my_wallet/walet_captain.dart index 2f4133a..afebed2 100644 --- a/lib/views/home/my_wallet/walet_captain.dart +++ b/lib/views/home/my_wallet/walet_captain.dart @@ -32,16 +32,32 @@ class WaletCaptain extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Card( - elevation: 4, + const SizedBox(), + Container( + decoration: AppStyle.boxDecoration.copyWith( + color: double.parse( + captainWalletController.totalPoints) < + 100 + ? AppColor.redColor + : AppColor.greenColor, + ), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 4), child: Text( - 'Total Points is ${captainWalletController.totalPoints} 💎', + 'Total Points is ${captainWalletController.totalPoints.toString()} 💎', style: AppStyle.headtitle2, ), ), ), + const SizedBox( + height: 10, + ), + double.parse(captainWalletController.totalPoints + .toString()) < + 100 + ? MyElevatedButton( + title: 'Charge your Account', onPressed: () {}) + : const SizedBox(), Card( elevation: 4, child: Padding( @@ -93,30 +109,39 @@ class WaletCaptain extends StatelessWidget { const SizedBox( height: 30, ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - MyElevatedButton( - title: 'Create Wallet to recive your money', - onPressed: () async { - PaymentController paymentController = - Get.find(); - paymentController.createConnectAccount(); - }), - ], - ), - TextButton( - onPressed: () async { - PaymentController paymentController = - Get.put(PaymentController()); - await paymentController.createTransactionToCaptain( - '1000', - box.read(BoxName.accountIdStripeConnect)); - }, - child: const Text( - "Pay to Captain", - ), - ) + box + .read(BoxName.accountIdStripeConnect) + .toString() + .isEmpty + ? Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + MyElevatedButton( + title: + 'Create Wallet to recive your money', + onPressed: () async { + PaymentController paymentController = + Get.find(); + paymentController + .createConnectAccount(); + }), + ], + ) + : const SizedBox( + height: 30, + ), + // TextButton( + // onPressed: () async { + // PaymentController paymentController = + // Get.put(PaymentController()); + // await paymentController.createTransactionToCaptain( + // '1000', + // box.read(BoxName.accountIdStripeConnect)); + // }, + // child: const Text( + // "Pay to Captain", + // ), + // ) ], ), ))