diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 05f0ca2..9383a59 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -10,6 +11,7 @@ import 'package:ride/controller/firebase/firbase_messge.dart'; import 'package:ride/controller/functions/location_controller.dart'; import 'package:ride/main.dart'; import 'package:ride/views/Rate/rate_passenger.dart'; +import 'package:ride/views/home/Captin/home_captin.dart'; import '../../../constant/credential.dart'; import '../../../constant/links.dart'; @@ -121,18 +123,24 @@ class MapDriverController extends GetxController { i <= progressTimerToShowPassengerInfoWindowFromDriver; i++) { await Future.delayed(const Duration(seconds: 1)); - progress = i / progressTimerToShowPassengerInfoWindowFromDriver; - remainingTimeToShowPassengerInfoWindowFromDriver = - progressTimerToShowPassengerInfoWindowFromDriver - i; - if (remainingTimeToShowPassengerInfoWindowFromDriver == 0) { - isPassengerInfoWindow = true; + if (canelString != 'Cancel') { + cancelCheckRidefromPassenger(); + progress = i / progressTimerToShowPassengerInfoWindowFromDriver; + remainingTimeToShowPassengerInfoWindowFromDriver = + progressTimerToShowPassengerInfoWindowFromDriver - i; + + if (remainingTimeToShowPassengerInfoWindowFromDriver == 0) { + isPassengerInfoWindow = true; + print(isPassengerInfoWindow); + update(); + startTimerToShowDriverToPassengerDuration(); + } print(isPassengerInfoWindow); + print(remainingTimeToShowPassengerInfoWindowFromDriver); update(); - startTimerToShowDriverToPassengerDuration(); + } else { + Get.off(HomeCaptain()); } - print(isPassengerInfoWindow); - print(remainingTimeToShowPassengerInfoWindowFromDriver); - update(); } } @@ -218,27 +226,25 @@ class MapDriverController extends GetxController { // 'isRideFinished', box.read(BoxName.name).toString(), tokenPassenger); } + String canelString = ''; void cancelCheckRidefromPassenger() async { - for (int i = 0; - i <= remainingTimeToShowPassengerInfoWindowFromDriver; - i++) { - await Future.delayed(const Duration(milliseconds: 500)); - await CRUD().post(link: AppLink.getOrderCancelStatus, payload: { - 'order_id': rideId, - }).then((value) { - if (value['status'] == 'Cancel') { - Get.snackbar('Order Cancelled'.tr, 'Order Cancelled by Passenger'.tr, - backgroundColor: AppColor.redColor); - remainingTimeTimerRideBegin = 0; - remainingTimeToShowPassengerInfoWindowFromDriver = 0; - remainingTimeToPassenger = 0; - isRideStarted = false; - isRideFinished = false; - isPassengerInfoWindow = false; - clearPolyline(); - update(); - } - }); + var res = await CRUD().get(link: AppLink.getOrderCancelStatus, payload: { + 'order_id': rideId, + }); //.then((value) { + print('Cancel fetch--------------------'); + var response = jsonDecode(res); + canelString = response['data']['status']; + update(); + if (response['data']['status'].toString() == 'Cancel') { + Get.snackbar('Order Cancelled'.tr, 'Order Cancelled by Passenger'.tr, + backgroundColor: AppColor.redColor); + remainingTimeTimerRideBegin = 0; + remainingTimeToShowPassengerInfoWindowFromDriver = 0; + remainingTimeToPassenger = 0; + isRideStarted = false; + isRideFinished = false; + isPassengerInfoWindow = false; + clearPolyline(); update(); } } @@ -378,7 +384,7 @@ class MapDriverController extends GetxController { addCustomCarIcon(); // updateMarker(); startTimerToShowPassengerInfoWindowFromDriver(); - cancelCheckRidefromPassenger(); + // cancelCheckRidefromPassenger(); // checkIsDriverNearPassenger(); super.onInit(); } diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 8dea096..8947855 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -73,9 +73,9 @@ class MapPassengerController extends GetxController { int selectedPassengerCount = 1; double progress = 0; double progressTimerToPassengerFromDriverAfterApplied = 0; - int durationTimer = 15; + int durationTimer = 25; late int durationToRide; - int remainingTime = 15; + int remainingTime = 25; int remainingTimeToPassengerFromDriverAfterApplied = 60; int timeToPassengerFromDriverAfterApplied = 0; Timer? timerToPassengerFromDriverAfterApplied; @@ -353,7 +353,7 @@ class MapPassengerController extends GetxController { print(decod['data']); if (decod['data'].toString() == 'Apply') { shouldFetch = false; // Stop further fetches - rideConfirm = false; + // rideConfirm = false; update(); startTimer(); } else if (decod['data'].toString() == 'Refused') { @@ -438,6 +438,7 @@ class MapPassengerController extends GetxController { // markerReloadingTimer.cancel(); // })); } else { + noCarString = false; dataCarsLocationByPassenger = jsonDecode(res); // print(dataCarsLocationByPassenger); driverId = dataCarsLocationByPassenger['message'][carsOrder]['driver_id'] @@ -448,6 +449,7 @@ class MapPassengerController extends GetxController { double.parse(dataCarsLocationByPassenger['message'][i]['latitude']), double.parse( dataCarsLocationByPassenger['message'][i]['longitude']))); + update(); } update(); @@ -528,7 +530,7 @@ class MapPassengerController extends GetxController { } Future cancelRide() async { - print(rideConfirm); + print("rideConfirm=$rideConfirm"); if (rideConfirm == false) { clearPlaces(); @@ -545,19 +547,17 @@ class MapPassengerController extends GetxController { clearPlaces(); clearPolyline(); data = []; + await CRUD().post(link: AppLink.updateDriverOrder, payload: { + "order_id": rideId.toString(), // Convert to String + "status": 'Cancel' + }); rideConfirm = false; shouldFetch = false; isPassengerChosen = false; isCashSelectedBeforeConfirmRide = false; timeToPassengerFromDriverAfterApplied = 0; changeCancelRidePageShow(); - remainingTime = 25; - update(); - - await CRUD().post(link: AppLink.updateDriverOrder, payload: { - "order_id": rideId.toString(), // Convert to String - "status": 'Cancel' - }); + remainingTime = 0; update(); } diff --git a/lib/controller/home/profile/promos_controller.dart b/lib/controller/home/profile/promos_controller.dart index 75e5c0a..f62d198 100644 --- a/lib/controller/home/profile/promos_controller.dart +++ b/lib/controller/home/profile/promos_controller.dart @@ -13,15 +13,15 @@ class PromosController extends GetxController { late String promos; @override void onInit() { - getPromoBytody(); + getPromoByToday(); super.onInit(); } - Future getPromoBytody() async { + Future getPromoByToday() async { var res = await CRUD().get(link: AppLink.getPromoBytody, payload: {}); if (res.toString() == 'failure') { Get.defaultDialog( - title: 'No Promo for tody .'.tr, + title: 'No Promo for today .'.tr, middleText: '', titleStyle: AppStyle.title, confirm: MyElevatedButton( diff --git a/lib/views/home/map_widget.dart/timer_for_cancell_trip_from_passenger.dart b/lib/views/home/map_widget.dart/timer_for_cancell_trip_from_passenger.dart index f364aea..0341ac3 100644 --- a/lib/views/home/map_widget.dart/timer_for_cancell_trip_from_passenger.dart +++ b/lib/views/home/map_widget.dart/timer_for_cancell_trip_from_passenger.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:ride/views/home/map_page_passenger.dart'; import '../../../constant/style.dart'; import '../../../controller/home/map_passenger_controller.dart';