diff --git a/lib/constant/links.dart b/lib/constant/links.dart index f8f166b..93816bc 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -132,7 +132,7 @@ class AppLink { // ===================================== static String addRateToPassenger = "$ride/rate/add.php"; static String addRateToDriver = "$ride/rate/addRateToDriver.php"; - static String getDriverRate = "$ride/rate/getDriveRrate.php"; + static String getDriverRate = "$ride/rate/getDriverRate.php"; ////////////////emails ============// static String sendEmailToPassengerForTripDetails = diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index ca50a5f..4653b0e 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -206,9 +206,9 @@ class HomeCaptainController extends GetxController { await addToken(); await getlocation(); onButtonSelected(); - await getPaymentToday(); await getDriverRate(); - getKazanPercent(); + await getKazanPercent(); + await getPaymentToday(); getCountRideToday(); getAllPayment(); startPeriodicExecution(); @@ -269,9 +269,10 @@ class HomeCaptainController extends GetxController { var res = await CRUD().get( link: AppLink.getDriverRate, payload: {'driver_id': box.read(BoxName.driverID).toString()}); - data = jsonDecode(res); - - rating = data['message'][0]['rating'].toString(); + var decod = jsonDecode(res); + // print(decod); + rating = decod['message'][0]['rating'].toString(); + // print('rating $rating'); update(); } diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index feb5297..7cc9928 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -501,8 +501,10 @@ update ui for totla results isRideFinished = true; isRideStarted = false; isPriceWindow = false; - if (cartype == 'Comfort') { + if (cartype == 'Comfort' || cartype == 'Free Ride') { totalCost = price.toStringAsFixed(2); + paymentAmount = totalCost; + // update(); } box.write(BoxName.statusDriverLocation, 'off'); // changeRideToBeginToPassenger(); @@ -600,7 +602,7 @@ update ui for totla results await Future.delayed(const Duration(seconds: 1)); recentDistanceToDash = Get.find().totalDistance; rideTimerFromBegin = i; - price = cartype == 'Comfort' + price = cartype == 'Comfort' || cartype == 'Free Ride' ? (i ~/ 60) + (recentDistanceToDash * Get.find().comfortPrice) diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 8a23023..6da419e 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -598,21 +598,7 @@ class MapPassengerController extends GetxController { rideTimerBegin = false; isRideFinished = true; update(); - //print('rideTimerBegin: $rideTimerBegin'); - //print('isRideFinished: $isRideFinished'); - // if (Get.find().isWalletChecked == true && - // Get.find().isCashChecked == false) { - // if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) { - // totalPassenger = totalCostPassenger + - // double.parse(box.read(BoxName.passengerWalletTotal)); - // } else { - // totalPassenger = totalCostPassenger + 0; - // } - // await CRUD().post(link: AppLink.addPassengersWallet, payload: { - // 'passenger_id': box.read(BoxName.passengerID).toString(), - // 'balance': ((-1) * totalPassenger).toString() - // }); - // } + } void tripFinishedFromDriver() async { @@ -684,7 +670,7 @@ class MapPassengerController extends GetxController { remainingTime = 0; // isCancelRidePageShown = true; update(); - rideIsBeginPassengerTimer(); + rideIsBeginPassengerTimer();runWhenRideIsBegin(); } void cancelTimerToPassengerFromDriverAfterApplied() { @@ -1174,7 +1160,20 @@ class MapPassengerController extends GetxController { Future runEvery30SecondsUntilConditionMet() async { // Calculate the duration of the trip in minutes. - double tripDurationInMinutes = durationToPassenger / 4; + double tripDurationInMinutes = durationToPassenger / 6; + int loopCount = tripDurationInMinutes.ceil(); + // If the trip duration is less than or equal to 50 minutes, then break the loop. + for (var i = 0; i < loopCount; i++) { + // Wait for 50 seconds. + await Future.delayed(const Duration(seconds: 4)); + await getDriverCarsLocationToPassengerAfterApplied(); + reloadMarkerDriverCarsLocationToPassengerAfterApplied(); + } + } + + Future runWhenRideIsBegin() async { + // Calculate the duration of the trip in minutes. + double tripDurationInMinutes = durationToRide / 6; int loopCount = tripDurationInMinutes.ceil(); // If the trip duration is less than or equal to 50 minutes, then break the loop. for (var i = 0; i < loopCount; i++) { diff --git a/lib/views/Rate/rate_passenger.dart b/lib/views/Rate/rate_passenger.dart index 295f7b0..9e12a73 100644 --- a/lib/views/Rate/rate_passenger.dart +++ b/lib/views/Rate/rate_passenger.dart @@ -49,9 +49,13 @@ class RatePassenger extends StatelessWidget { padding: const EdgeInsets.all(4), child: Text( Get.find().cartype == - 'Comfort' + 'Comfort' || + Get.find() + .cartype == + 'Free Ride' ? Get.find() - .totalCost + .price + .toStringAsFixed(1) : Get.find() .totalPassenger, style: AppStyle.number, diff --git a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart index 67123d2..d804223 100644 --- a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart +++ b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart @@ -65,7 +65,22 @@ GetBuilder driverEndRideBar() { 'Price is ${mapDriverController.price.toStringAsFixed(0)}') ], ), - mapDriverController.remainingTimeTimerRideBegin < 60 + mapDriverController.cartype == 'Free Ride' + ? Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + MyElevatedButton( + title: 'End Ride'.tr, + onPressed: () { + mapDriverController.finishRideFromDriver(); + }, + kolor: AppColor.redColor, + ), + ], + ) + : const SizedBox(), + mapDriverController.remainingTimeTimerRideBegin < 60 && + mapDriverController.cartype != 'Free Ride' ? Row( mainAxisAlignment: MainAxisAlignment.center, children: [ diff --git a/lib/views/home/map_widget.dart/car_details_widget_to_go.dart b/lib/views/home/map_widget.dart/car_details_widget_to_go.dart index 0167c46..8cb6e71 100644 --- a/lib/views/home/map_widget.dart/car_details_widget_to_go.dart +++ b/lib/views/home/map_widget.dart/car_details_widget_to_go.dart @@ -21,19 +21,19 @@ class CarType { List carTypes = [ CarType( - carType: 'Comfort'.tr, + carType: 'Comfort', carDetail: 'Comfort choice'.tr, image: 'assets/images/blob.png'), CarType( - carType: 'Speed'.tr, + carType: 'Speed', carDetail: 'Better for long trips choice'.tr, image: 'assets/images/carspeed.png'), CarType( - carType: 'Delivery'.tr, + carType: 'Delivery', carDetail: 'Delivery service'.tr, image: 'assets/images/moto.png'), CarType( - carType: 'Free Ride'.tr, + carType: 'Free Ride', carDetail: 'free ride without end point'.tr, image: 'assets/images/freeRide.png'), ];