This commit is contained in:
Hamza-Ayed
2023-10-12 14:16:55 +03:00
parent bf9fce363d
commit c1e4c74356
14 changed files with 416 additions and 39 deletions

View File

@@ -9,9 +9,11 @@ import 'package:ride/constant/colors.dart';
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 '../../../constant/credential.dart';
import '../../../constant/links.dart';
import '../../../views/home/Captin/home_captin.dart';
import '../../functions/crud.dart';
class MapDriverController extends GetxController {
@@ -28,6 +30,8 @@ class MapDriverController extends GetxController {
late String name;
late String phone;
late String rideId;
late String passengerId;
late String driverId;
late String tokenPassenger;
late String durationToPassenger;
late String walletChecked;
@@ -35,6 +39,7 @@ class MapDriverController extends GetxController {
bool isPassengerInfoWindow = false;
bool isBtnRideBegin = false;
bool isRideFinished = false;
bool isRideStarted = false;
double passengerInfoWindow = Get.height * .32;
double progress = 0;
double progressToPassenger = 0;
@@ -156,10 +161,11 @@ class MapDriverController extends GetxController {
tokenPassenger);
}
void beginRideFromDriver() async {
void startRideFromDriver() async {
changeRideToBeginToPassenger();
isPassengerInfoWindow = false;
isRideFinished = true;
isRideStarted = true;
isRideFinished = false;
update();
await CRUD().post(link: AppLink.updateRides, payload: {
'id': rideId,
@@ -171,14 +177,23 @@ class MapDriverController extends GetxController {
}
void finishRideFromDriver() async {
isRideFinished = true;
isRideStarted = false;
// changeRideToBeginToPassenger();
await CRUD().post(link: AppLink.updateRides, payload: {
'id': rideId,
'rideTimeStart': DateTime.now().toString(),
'rideTimeFinish': DateTime.now().toString(),
'status': 'Finished'
});
FirebaseMessagesController().sendNotificationToAnyWithoutData(
'isRideFinished', box.read(BoxName.name).toString(), tokenPassenger);
Get.back();
Future.delayed(const Duration(milliseconds: 300));
Get.to(() => RatePassenger(), arguments: {
'rideId': rideId,
'passengerId': passengerId,
'driverId': driverId
});
// FirebaseMessagesController().sendNotificationToAnyWithoutData(
// 'isRideFinished', box.read(BoxName.name).toString(), tokenPassenger);
}
void updateMarker() {
@@ -277,6 +292,8 @@ class MapDriverController extends GetxController {
// Get the passenger location from the arguments.
passengerLocation = Get.arguments['passengerLocation'];
duration = Get.arguments['Duration'];
passengerId = Get.arguments['passengerId'];
driverId = Get.arguments['driverId'];
distance = Get.arguments['Distance'];
name = Get.arguments['name'];
phone = Get.arguments['phone'];