From 6fb79baab4b8b185f342471183d2cd5dfe921ab9 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 28 Jun 2024 19:09:55 +0300 Subject: [PATCH] 6/28/1 --- android/app/build.gradle | 4 +- android/app/src/main/AndroidManifest.xml | 43 +- ios/Runner/Info.plist | 4 +- .../auth/captin/login_captin_controller.dart | 4 +- .../captin/register_captin_controller.dart | 4 +- lib/controller/auth/google_sign.dart | 2 +- .../functions/sms_egypt_controller.dart | 4 +- .../home/captin/help/help_controller.dart | 24 +- .../home/splash_screen_controlle.dart | 2 +- lib/controller/local/translations.dart | 3 +- lib/controller/rate/rate_conroller.dart | 2 +- lib/views/Rate/rate_passenger.dart | 32 +- lib/views/auth/captin/login_captin.dart | 12 +- lib/views/auth/country_widget.dart | 6 +- .../Captin/home_captain/help_captain.dart | 10 +- .../widget/left_menu_map_captain.dart | 58 +-- .../notification/available_rides_page.dart | 433 +++++++++--------- 17 files changed, 332 insertions(+), 315 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index d922c67..9a56511 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -55,8 +55,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 23 targetSdkVersion flutter.targetSdkVersion - versionCode 36 - versionName '1.5.36' + versionCode 40 + versionName '1.5.40' // manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml'] } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 876e845..b9bbae8 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,16 +1,18 @@ - + - + - - - - + + + + + @@ -32,27 +34,34 @@ - - + + - + - - + + - + - - + + - - + + - + \ No newline at end of file diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 9e3ddb9..3101804 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -21,7 +21,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 36 + 37 CFBundleSignature ???? CFBundleURLTypes @@ -36,7 +36,7 @@ CFBundleVersion - 4.0.36 + 4.0.37 FirebaseAppDelegateProxyEnabled NO GMSApiKey diff --git a/lib/controller/auth/captin/login_captin_controller.dart b/lib/controller/auth/captin/login_captin_controller.dart index bc36c5c..bd2e052 100644 --- a/lib/controller/auth/captin/login_captin_controller.dart +++ b/lib/controller/auth/captin/login_captin_controller.dart @@ -18,7 +18,7 @@ import 'package:location/location.dart'; import '../../firebase/firbase_messge.dart'; -class LoginCaptinController extends GetxController { +class LoginDriverController extends GetxController { final formKey = GlobalKey(); TextEditingController emailController = TextEditingController(); TextEditingController phoneController = TextEditingController(); @@ -110,7 +110,7 @@ class LoginCaptinController extends GetxController { } } - loginFromSignInGoogle(String driverID, email) async { + loginUsingCredentials(String driverID, email) async { isloading = true; update(); var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: { diff --git a/lib/controller/auth/captin/register_captin_controller.dart b/lib/controller/auth/captin/register_captin_controller.dart index 82c6763..d2810db 100644 --- a/lib/controller/auth/captin/register_captin_controller.dart +++ b/lib/controller/auth/captin/register_captin_controller.dart @@ -124,13 +124,13 @@ class RegisterCaptainController extends GetxController { sendVerifications() async { var res = await CRUD().post(link: AppLink.verifyEmail, payload: { 'email': emailController.text.isEmpty - ? Get.find().emailController.text.toString() + ? Get.find().emailController.text.toString() : emailController.text, 'token': verifyCode.text, }); if (res != 'failure') { - if (Get.find().emailController.text.toString() != + if (Get.find().emailController.text.toString() != '') { Get.offAll(() => HomeCaptain()); } else { diff --git a/lib/controller/auth/google_sign.dart b/lib/controller/auth/google_sign.dart index a5cd1b9..8b05e46 100644 --- a/lib/controller/auth/google_sign.dart +++ b/lib/controller/auth/google_sign.dart @@ -41,7 +41,7 @@ class GoogleSignInHelper { if (googleUser != null) { await _handleSignUp(googleUser); // if (box.read(BoxName.countryCode) == 'Egypt') { - await Get.find().loginFromSignInGoogle( + await Get.find().loginUsingCredentials( box.read(BoxName.driverID).toString(), box.read(BoxName.emailDriver).toString(), ); diff --git a/lib/controller/functions/sms_egypt_controller.dart b/lib/controller/functions/sms_egypt_controller.dart index bfa05d8..19625d2 100644 --- a/lib/controller/functions/sms_egypt_controller.dart +++ b/lib/controller/functions/sms_egypt_controller.dart @@ -18,7 +18,7 @@ class SmsEgyptController extends GetxController { "password": AK.smsPasswordEgypt, //'E)Pu=an/@Z', "message": "${AppInformation.appName} app code is $otp\ncopy it to app", "language": box.read(BoxName.lang) == 'en' ? "e" : 'r', - "sender": "SEFER EGY", // todo add sefer sender name + "sender": "Sefer Egy", // todo add sefer sender name "receiver": "2$phone" }); @@ -30,7 +30,7 @@ class SmsEgyptController extends GetxController { if (res.statusCode == 200) { Get.defaultDialog( - title: 'You will recieve code in sms message'.tr, + title: 'You will receive code in sms message'.tr, middleText: '', confirm: MyElevatedButton( title: 'OK'.tr, diff --git a/lib/controller/home/captin/help/help_controller.dart b/lib/controller/home/captin/help/help_controller.dart index 2ed4e20..eb8ad7d 100644 --- a/lib/controller/home/captin/help/help_controller.dart +++ b/lib/controller/home/captin/help/help_controller.dart @@ -19,7 +19,7 @@ class HelpController extends GetxController { String status = ''; String qustion = ''; late int indexQuestion = 0; - getindex(int i, String qustion1) async { + getIndex(int i, String qustion1) async { indexQuestion = i; qustion = qustion1; update(); @@ -56,12 +56,22 @@ class HelpController extends GetxController { title: 'There is no help Question here'.tr, titleStyle: AppStyle.title, middleText: '', - confirm: MyElevatedButton( - title: 'Back'.tr, - onPressed: () { - Get.back(); - Get.back(); - })); + confirm: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + MyElevatedButton( + title: 'Add Question'.tr, + onPressed: () { + Get.back(); + }), + MyElevatedButton( + title: 'Back'.tr, + onPressed: () { + Get.back(); + Get.back(); + }), + ], + )); } helpQuestionDate = jsonDecode(res); isLoading = false; diff --git a/lib/controller/home/splash_screen_controlle.dart b/lib/controller/home/splash_screen_controlle.dart index 281b01c..f6e1c2e 100644 --- a/lib/controller/home/splash_screen_controlle.dart +++ b/lib/controller/home/splash_screen_controlle.dart @@ -54,7 +54,7 @@ class SplashScreenController extends GetxController : box.read(BoxName.emailDriver) != null && box.read(BoxName.phoneDriver) != null && box.read(BoxName.phoneVerified) == '1' - ? await Get.put(LoginCaptinController()).loginFromSignInGoogle( + ? await Get.put(LoginDriverController()).loginUsingCredentials( box.read(BoxName.driverID).toString(), box.read(BoxName.emailDriver)) : Get.off(() => LoginCaptin()); diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index 2763387..ec6980e 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -4,6 +4,7 @@ class MyTranslation extends Translations { @override Map> get keys => { "ar": { + 'Add Question': '', "Please enter a valid card 16-digit number.": "الرجاء إدخال رقم بطاقة صحيح مكون من 16 رقمًا.", "Insert card number": "أدخل رقم البطاقة", @@ -115,7 +116,7 @@ class MyTranslation extends Translations { "birthdate": "تاريخ ميلاد", "Approve Driver Documents": "الموافقة على مستندات الشريك السائق", "Total Budget is": "الميزانية الإجمالية", - "You will recieve code in sms message": + "You will receive code in sms message": "ستتلقى الرمز في رسالة نصية قصيرة", "Please enter": "الرجاء إدخال", "We need your phone number to contact you and to help you receive orders.": diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 9812958..2b0ec0f 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -89,7 +89,7 @@ class RateController extends GetxController { 'Wallet Added', 'Wallet Added'.tr, Get.find().tokenPassenger); - walletChecked == 'true'; + walletChecked = 'true'; update(); } }); diff --git a/lib/views/Rate/rate_passenger.dart b/lib/views/Rate/rate_passenger.dart index 8493abd..e83141a 100644 --- a/lib/views/Rate/rate_passenger.dart +++ b/lib/views/Rate/rate_passenger.dart @@ -110,19 +110,20 @@ class RatePassenger extends StatelessWidget { Form( key: controller.formKey, child: MyTextForm( - controller: - controller.passengerPayAmount, - label: "passenger amount to me".tr, - hint: "passenger amount to me".tr, - type: const TextInputType - .numberWithOptions( - decimal: true)), + controller: + controller.passengerPayAmount, + label: "passenger amount to me".tr, + hint: "passenger amount to me".tr, + type: const TextInputType + .numberWithOptions(decimal: true), + ), ), MyElevatedButton( - title: "Press here".tr, - onPressed: () { - controller.addPassengerWallet(); - }) + title: "Press here".tr, + onPressed: () { + controller.addPassengerWallet(); + }, + ) ], ), ), @@ -139,10 +140,11 @@ class RatePassenger extends StatelessWidget { textAlign: TextAlign.center, ), MyElevatedButton( - title: "Press here".tr, - onPressed: () { - controller.passengerWantPay(); - }) + title: "Press here".tr, + onPressed: () { + controller.passengerWantPay(); + }, + ) ], ), ) diff --git a/lib/views/auth/captin/login_captin.dart b/lib/views/auth/captin/login_captin.dart index bfd80b0..ef5f5e7 100644 --- a/lib/views/auth/captin/login_captin.dart +++ b/lib/views/auth/captin/login_captin.dart @@ -25,9 +25,9 @@ class LoginCaptin extends StatelessWidget { final AuthController authController = Get.put(AuthController()); @override Widget build(BuildContext context) { - Get.put(LoginCaptinController()); + Get.put(LoginDriverController()); // Get.put(LocationBackgroundController()); - return GetBuilder( + return GetBuilder( builder: (controller) => MyScafolld( title: 'Login Driver'.tr, isleading: false, @@ -221,8 +221,8 @@ class LoginCaptin extends StatelessWidget { box.write(BoxName.driverID, user.uid); box.write( BoxName.emailDriver, user.email); - Get.find() - .loginFromSignInGoogle( + Get.find() + .loginUsingCredentials( box.read(BoxName.driverID).toString(), box .read(BoxName.emailDriver) @@ -347,7 +347,7 @@ class LoginCaptin extends StatelessWidget { const SizedBox( height: 100, ), - GetBuilder( + GetBuilder( builder: (controller) => Column( children: [ Row( @@ -381,7 +381,7 @@ class LoginCaptin extends StatelessWidget { } locationPermissionDialog() { - return GetBuilder(builder: (controller) { + return GetBuilder(builder: (controller) { return Padding( padding: const EdgeInsets.all(16), child: Container( diff --git a/lib/views/auth/country_widget.dart b/lib/views/auth/country_widget.dart index 8e20db7..42fb155 100644 --- a/lib/views/auth/country_widget.dart +++ b/lib/views/auth/country_widget.dart @@ -79,7 +79,7 @@ class CountryPicker extends StatelessWidget { MyElevatedButton( title: 'Select Country'.tr, // Use translated text for button onPressed: () { - Get.find().saveCountryCode(controller + Get.find().saveCountryCode(controller .selectedCountry .toString()); // No conversion needed box.write( @@ -98,8 +98,8 @@ class CountryPicker extends StatelessWidget { class CountryPickerFromSetting extends StatelessWidget { final ProfileController controller = Get.put(ProfileController()); - final LoginCaptinController loginController = - Get.put(LoginCaptinController()); + final LoginDriverController loginController = + Get.put(LoginDriverController()); final List countryOptions = [ 'Jordan', diff --git a/lib/views/home/Captin/home_captain/help_captain.dart b/lib/views/home/Captin/home_captain/help_captain.dart index 82784dd..246f370 100644 --- a/lib/views/home/Captin/home_captain/help_captain.dart +++ b/lib/views/home/Captin/home_captain/help_captain.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:get/get.dart'; import 'package:SEFER/constant/colors.dart'; import 'package:SEFER/constant/style.dart'; @@ -105,12 +104,7 @@ class HelpCaptain extends StatelessWidget { return helpController .helpQuestionDate['message'].length == 0 - ? Center( - child: Text( - 'text', - style: AppStyle.title, - ), - ) + ? SizedBox() : Padding( padding: const EdgeInsets.all(3), child: Container( @@ -125,7 +119,7 @@ class HelpCaptain extends StatelessWidget { // color: AppColor.greenColor, child: GestureDetector( onTap: () { - helpController.getindex( + helpController.getIndex( list['id'], list['helpQuestion']); helpController.getHelpRepley( list['id'].toString()); diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index a2911d8..2c1e806 100644 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -20,35 +20,35 @@ GetBuilder leftMainMenuCaptainIcons() { left: 6, child: Column( children: [ - AnimatedContainer( - duration: const Duration(microseconds: 200), - width: controller.widthMapTypeAndTraffic, - decoration: BoxDecoration( - border: Border.all(color: AppColor.blueColor), - color: AppColor.secondaryColor, - borderRadius: BorderRadius.circular(15)), - child: IconButton( - onPressed: () { - AC credentials = AC(); - String apiKey = '4601103'; - String convertedStringN = credentials.c( - credentials.c(credentials.c(apiKey, cs), cC), cn); - print(convertedStringN); - String retrievedStringS = credentials.r( - credentials.r(credentials.r(convertedStringN, cn), cC), - cs); - print(retrievedStringS); - // - if (retrievedStringS == apiKey) { - print('same'); - } - }, - icon: const Icon( - FontAwesome.map_signs, - size: 24, - color: Colors.black, - )), - ), + // AnimatedContainer( + // duration: const Duration(microseconds: 200), + // width: controller.widthMapTypeAndTraffic, + // decoration: BoxDecoration( + // border: Border.all(color: AppColor.blueColor), + // color: AppColor.secondaryColor, + // borderRadius: BorderRadius.circular(15)), + // child: IconButton( + // onPressed: () { + // AC credentials = AC(); + // String apiKey = '4601103'; + // String convertedStringN = credentials.c( + // credentials.c(credentials.c(apiKey, cs), cC), cn); + // print(convertedStringN); + // String retrievedStringS = credentials.r( + // credentials.r(credentials.r(convertedStringN, cn), cC), + // cs); + // print(retrievedStringS); + // // + // if (retrievedStringS == apiKey) { + // print('same'); + // } + // }, + // icon: const Icon( + // FontAwesome.map_signs, + // size: 24, + // color: Colors.black, + // )), + // ), const SizedBox( height: 5, ), diff --git a/lib/views/notification/available_rides_page.dart b/lib/views/notification/available_rides_page.dart index 0a38fbc..a82cb4c 100644 --- a/lib/views/notification/available_rides_page.dart +++ b/lib/views/notification/available_rides_page.dart @@ -32,229 +32,230 @@ class AvailableRidesPage extends StatelessWidget { ? const MyCircularProgressIndicator() : Padding( padding: const EdgeInsets.all(8.0), - child: rideAvailableController - .rideAvailableMap['message'].length == - 1 && - rideAvailableController.rideAvailableMap['message'] - [0]['start_location'] == - null - ? Center( - child: Text( - 'No ride found yet'.tr, - style: AppStyle.headTitle2, - ), - ) - : ListView.builder( - itemCount: rideAvailableController - .rideAvailableMap['message'].length, - itemBuilder: (BuildContext context, int index) { - var list = rideAvailableController - .rideAvailableMap['message'][index]; - return Container( - width: Get.width * .9, - decoration: AppStyle.boxDecoration1, - child: Column( + child: ListView.builder( + itemCount: rideAvailableController + .rideAvailableMap['message'].length, + itemBuilder: (BuildContext context, int index) { + var list = rideAvailableController + .rideAvailableMap['message'][index]; + return Container( + width: Get.width * .9, + decoration: AppStyle.boxDecoration1, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + '🟢 ', + style: AppStyle.subtitle, + ), + SizedBox( + height: Get.height * .06, + width: Get.width * .8, + child: Text( + '${list['startName']}', + style: AppStyle.subtitle, + ), + ), + ], + ), + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + '🔴 ', + style: AppStyle.subtitle, + ), + SizedBox( + height: Get.height * .06, + width: Get.width * .8, + child: Text( + '${list['endName']}', + style: AppStyle.subtitle, + ), + ), + ], + ), + const SizedBox(height: 4), + Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ - Text( - ' ${list['start_location']}', - style: AppStyle.title, - ), - Text( - '${list['end_location']}', - style: AppStyle.title, - ), + Text('${'Price: '.tr}${list['price']} \$'), const SizedBox(height: 4), - Row( - mainAxisAlignment: - MainAxisAlignment.spaceAround, - children: [ - Text( - '${'Price: '.tr}${list['price']} \$'), - const SizedBox(height: 4), - Text( - '${list['carType']}', - style: AppStyle.title.copyWith( - color: AppColor.greenColor), - ), - ], + Text( + '${list['carType']}', + style: AppStyle.title + .copyWith(color: AppColor.greenColor), ), - Row( - mainAxisAlignment: - MainAxisAlignment.spaceAround, - children: [ - Text('📈 ${list['passengerRate']}', - style: AppStyle.title), - MyElevatedButton( - title: 'Accept'.tr, - onPressed: () async { - box.write( - BoxName.statusDriverLocation, - 'on'); - - var res = await CRUD().post( - link: AppLink - .updateStausFromSpeed, - payload: { - 'id': list['id'], - 'rideTimeStart': - DateTime.now().toString(), - 'status': 'Apply', - 'driver_id': box - .read(BoxName.driverID), - }); - // .then((value) { - // var json = jsonDecode(res); - if (res == "failure") { - Get.defaultDialog( - title: - "This ride is already taken by another driver." - .tr, - middleText: '', - titleStyle: AppStyle.title, - middleTextStyle: - AppStyle.title, - confirm: MyElevatedButton( - title: 'Ok'.tr, - onPressed: () { - Get.back(); - Get.back(); - Get.back(); - })); - } else if (jsonDecode( - res)['status'] == - "success") { - List bodyToPassenger = [ - box - .read(BoxName.driverID) - .toString(), - box - .read(BoxName.nameDriver) - .toString(), - box - .read(BoxName.tokenDriver) - .toString(), - ]; - await CRUD().postFromDialogue( - link: AppLink.addDriverOrder, - payload: { - 'driver_id': box - .read(BoxName.driverID), - // box.read(BoxName.driverID).toString(), - 'order_id': list['id'], - 'status': 'Apply' - }); - await CRUD().post( - link: AppLink.updateRides, - payload: { - 'id': list['id'], - 'driverGoToPassengerTime': - DateTime.now() - .toString(), - 'status': 'Applied' - }); - - FirebaseMessagesController() - .sendNotificationToPassengerToken( - 'Apply Ride', - 'your ride is applied'.tr, - // arguments['DriverList'][9].toString(), - list['passengerToken'] - .toString(), - // box.read(BoxName.tokenDriver).toString(), - bodyToPassenger, - ); - Get.back(); - Get.to( - () => - PassengerLocationMapPage(), - arguments: { - 'passengerLocation': - list['start_location'] - .toString(), - 'passengerDestination': - list['end_location'] - .toString(), - 'Duration': list['duration'] - .toString(), - 'totalCost': list['price'] - .toString(), - 'Distance': list['distance'] - .toString(), - 'name': list['first_name'] - .toString(), - 'phone': list['phone'] - .toString(), - 'email': list['email'] - .toString(), - 'WalletChecked': - list['payment_method'] - .toString(), - 'tokenPassenger': - list['passengerToken'] - .toString(), - 'direction': - 'https://www.google.com/maps/dir/${list['start_location']}/${list['end_location']}/', - 'DurationToPassenger': - list['duration'] - .toString(), - 'rideId': - list['id'].toString(), - 'passengerId': - list['passenger_id'] - .toString(), - 'driverId': box - .read(BoxName.driverID) - .toString(), - 'durationOfRideValue': - list['duration'] - .toString(), - 'paymentAmount': - list['price'] - .toString(), - 'paymentMethod': - 'cash'.toString() == //todo fix payment method - 'true' - ? 'visa' - : 'cash', - 'isHaveSteps': - 'startEnd'.toString(), - 'step0': ''.toString(), - 'step1': ''.toString(), - 'step2': ''.toString(), - 'step3': ''.toString(), - 'step4': ''.toString(), - 'passengerWalletBurc': - list['bruc'].toString(), - 'timeOfOrder': - DateTime.now() - .toString(), - 'totalPassenger': - list['price'] - .toString(), - 'carType': list['carType'] - .toString(), - 'kazan': Get.find< - HomeCaptainController>() - .kazan - .toString(), - }); - } - }, - kolor: AppColor.greenColor, - ), - Text( - '📍 ${list['distance']} ${'KM'.tr}', - style: AppStyle.title.copyWith( - color: AppColor.greenColor), - ), - ], - ) ], ), - ); - }), + Row( + mainAxisAlignment: + MainAxisAlignment.spaceAround, + children: [ + Text('📈 ${list['passengerRate']}', + style: AppStyle.title), + MyElevatedButton( + title: 'Accept'.tr, + onPressed: () async { + box.write( + BoxName.statusDriverLocation, 'on'); + + var res = await CRUD().post( + link: AppLink.updateStausFromSpeed, + payload: { + 'id': list['id'], + 'rideTimeStart': + DateTime.now().toString(), + 'status': 'Apply', + 'driver_id': + box.read(BoxName.driverID), + }); + // .then((value) { + // var json = jsonDecode(res); + if (res == "failure") { + Get.defaultDialog( + title: + "This ride is already taken by another driver." + .tr, + middleText: '', + titleStyle: AppStyle.title, + middleTextStyle: AppStyle.title, + confirm: MyElevatedButton( + title: 'Ok'.tr, + onPressed: () { + Get.back(); + Get.back(); + Get.back(); + })); + } else if (jsonDecode(res)['status'] == + "success") { + List bodyToPassenger = [ + box + .read(BoxName.driverID) + .toString(), + box + .read(BoxName.nameDriver) + .toString(), + box + .read(BoxName.tokenDriver) + .toString(), + ]; + await CRUD().postFromDialogue( + link: AppLink.addDriverOrder, + payload: { + 'driver_id': + box.read(BoxName.driverID), + // box.read(BoxName.driverID).toString(), + 'order_id': list['id'], + 'status': 'Apply' + }); + await CRUD().post( + link: AppLink.updateRides, + payload: { + 'id': list['id'], + 'DriverIsGoingToPassenger': + DateTime.now().toString(), + 'status': 'Applied' + }); + + FirebaseMessagesController() + .sendNotificationToPassengerToken( + 'Apply Ride', + 'your ride is applied'.tr, + // arguments['DriverList'][9].toString(), + list['passengerToken'].toString(), + // box.read(BoxName.tokenDriver).toString(), + bodyToPassenger, + ); + Get.back(); + Get.to( + () => PassengerLocationMapPage(), + arguments: { + 'passengerLocation': + list['start_location'] + .toString(), + 'passengerDestination': + list['end_location'] + .toString(), + 'Duration': + list['duration'].toString(), + 'totalCost': + list['price'].toString(), + 'Distance': + list['distance'].toString(), + 'name': list['first_name'] + .toString(), + 'phone': + list['phone'].toString(), + 'email': + list['email'].toString(), + 'WalletChecked': + list['payment_method'] + .toString(), + 'tokenPassenger': + list['passengerToken'] + .toString(), + 'direction': + 'https://www.google.com/maps/dir/${list['start_location']}/${list['end_location']}/', + 'DurationToPassenger': + list['duration'].toString(), + 'rideId': list['id'].toString(), + 'passengerId': + list['passenger_id'] + .toString(), + 'driverId': box + .read(BoxName.driverID) + .toString(), + 'durationOfRideValue': + list['duration'].toString(), + 'paymentAmount': + list['price'].toString(), + 'paymentMethod': + 'cash'.toString() == //todo fix payment method + 'true' + ? 'visa' + : 'cash', + 'isHaveSteps': + 'startEnd'.toString(), + 'step0': ''.toString(), + 'step1': ''.toString(), + 'step2': ''.toString(), + 'step3': ''.toString(), + 'step4': ''.toString(), + 'passengerWalletBurc': + list['bruc'].toString(), + 'timeOfOrder': + DateTime.now().toString(), + 'totalPassenger': + list['price'].toString(), + 'carType': + list['carType'].toString(), + 'kazan': Get.find< + HomeCaptainController>() + .kazan + .toString(), + }); + } + }, + kolor: AppColor.greenColor, + ), + Text( + '📍 ${list['distance']} ${'KM'.tr}', + style: AppStyle.title + .copyWith(color: AppColor.greenColor), + ), + ], + ) + ], + ), + ); + }), ) ], isleading: true);