This commit is contained in:
Hamza-Ayed
2023-11-15 02:00:00 +03:00
parent b384a491cd
commit c81ded3c98
4 changed files with 50 additions and 45 deletions

View File

@@ -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();
}

View File

@@ -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();
}

View File

@@ -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(

View File

@@ -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';