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);