This commit is contained in:
Hamza-Ayed
2023-10-14 15:03:19 +03:00
parent c1e4c74356
commit 642820c55b
24 changed files with 191 additions and 218 deletions

View File

@@ -2,10 +2,11 @@ class BoxName {
static const String driverID = "driverID";
static const String lang = "lang";
static const String statusDriverLocation = "statusDriverLocation";
static const String password = "password";
static const String passwordDriver = "passwordDriver";
static const String agreeTerms = "agreeTerms";
static const String pasengerID = "pasengerID";
static const String passengerID = "pasengerID";
static const String phone = "phone";
static const String phoneDriver = "phoneDriver";
static const String name = "name";

View File

@@ -51,7 +51,7 @@ class LoginController extends GetxController {
if (jsonDecoeded['status'] == 'success') {
print(jsonDecoeded['data'][0]['verified']);
if (jsonDecoeded['data'][0]['verified'] == 1) {
box.write(BoxName.pasengerID, jsonDecoeded['data'][0]['id']);
box.write(BoxName.passengerID, jsonDecoeded['data'][0]['id']);
box.write(BoxName.email, jsonDecoeded['data'][0]['email']);
box.write(BoxName.name, jsonDecoeded['data'][0]['first_name']);
box.write(BoxName.phone, jsonDecoeded['data'][0]['phone']);
@@ -59,11 +59,11 @@ class LoginController extends GetxController {
Get.offAll(() => MapPage());
isloading = false;
update();
print(box.read(BoxName.pasengerID).toString());
print(box.read(BoxName.passengerID).toString());
print(box.read(BoxName.tokenFCM));
await CRUD().post(link: AppLink.addTokens, payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.pasengerID).toString()
'passengerID': box.read(BoxName.passengerID).toString()
}).then((value) => print('cccc'));
} else {
isloading = false;

View File

@@ -22,7 +22,7 @@ class TokenController extends GetxController {
},
body: {
'token': box.read(BoxName.tokenFCM.toString()),
'passengerID': box.read(BoxName.pasengerID).toString()
'passengerID': box.read(BoxName.passengerID).toString()
},
);

View File

@@ -6,6 +6,7 @@ import 'package:location/location.dart';
import 'package:ride/constant/box_name.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/controller/functions/crud.dart';
import 'package:ride/controller/home/captin/map_driver_controller.dart';
import 'package:ride/main.dart';
// LocationController.dart
@@ -26,13 +27,19 @@ class LocationController extends GetxController {
void startLocationUpdates() async {
_locationTimer = Timer.periodic(const Duration(seconds: 20), (timer) async {
await getLocation();
try {
await getLocation();
await CRUD().post(link: AppLink.addCarsLocationByPassenger, payload: {
'driver_id': box.read(BoxName.driverID).toString(),
'latitude': myLocation.latitude.toString(),
'longitude': myLocation.longitude.toString(),
});
await CRUD().post(link: AppLink.addCarsLocationByPassenger, payload: {
'driver_id': box.read(BoxName.driverID).toString(),
'latitude': myLocation.latitude.toString(),
'longitude': myLocation.longitude.toString(),
'status': box.read(BoxName.statusDriverLocation).toString()
});
} catch (e) {
// Handle the error gracefully
print('Error during location updates: $e');
}
});
}

View File

@@ -38,7 +38,7 @@ class LogOut {
box.remove(BoxName.email);
box.remove(BoxName.lang);
box.remove(BoxName.name);
box.remove(BoxName.pasengerID);
box.remove(BoxName.passengerID);
box.remove(BoxName.phone);
box.remove(BoxName.tokenFCM);
box.remove(BoxName.tokens);

View File

@@ -6,6 +6,7 @@ import '../../../constant/links.dart';
import '../../../main.dart';
import '../../functions/crud.dart';
import '../../functions/location_controller.dart';
import 'map_driver_controller.dart';
class HomeCaptainController extends GetxController {
bool isActive = false;
@@ -17,7 +18,6 @@ class HomeCaptainController extends GetxController {
void onButtonSelected() {
isActive = !isActive;
if (isActive) {
locationController.startLocationUpdates();
activeStartTime = DateTime.now();
@@ -58,6 +58,7 @@ class HomeCaptainController extends GetxController {
'token': box.read(BoxName.tokenDriver),
'captain_id': box.read(BoxName.driverID).toString()
}).then((value) => print('cccc'));
box.write(BoxName.statusDriverLocation, 'off');
super.onInit();
}

View File

@@ -13,7 +13,6 @@ 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 {
@@ -36,6 +35,7 @@ class MapDriverController extends GetxController {
late String durationToPassenger;
late String walletChecked;
late String direction;
late String status;
bool isPassengerInfoWindow = false;
bool isBtnRideBegin = false;
bool isRideFinished = false;
@@ -51,22 +51,39 @@ class MapDriverController extends GetxController {
GoogleMapController? mapController;
late LatLng myLocation;
late Timer timer;
void onMapCreated(GoogleMapController controller) {
LocationController locationController = Get.find<LocationController>();
myLocation = locationController.myLocation;
mapController = controller;
controller.getVisibleRegion();
controller.animateCamera(
CameraUpdate.newLatLng(myLocation),
CameraUpdate.newLatLngZoom(myLocation, 10),
);
update();
// Set up a timer or interval to trigger the marker update every 3 seconds.
Timer.periodic(const Duration(seconds: 3), (_) {
timer = Timer.periodic(const Duration(seconds: 3), (_) {
updateMarker();
});
}
void changeStatusDriver() {
status = 'On';
update();
}
takeSnapMap() {
mapController!.takeSnapshot();
}
@override
void dispose() {
mapController!.dispose();
super.dispose();
}
void checkIsDriverNearPassenger() async {
if (isDriverNearPassengerStart) {
Timer.periodic(const Duration(seconds: 3), (timer) {
@@ -78,17 +95,6 @@ class MapDriverController extends GetxController {
// Replace "passengerLat" and "passengerLng" with the actual passenger's location
String passengerLat = passengerLocation; // Set the passenger's latitude
String passengerLng = ""; // Set the passenger's longitude
// double distance = calculateDistance(
// double.parse(driverLat),
// double.parse(driverLng),
// double.parse(passengerLat),
// double.parse(passengerLng),
// );
// if (distance < 50) {
// print("Distance to passenger: $distance meters");
// }
});
}
}
@@ -166,6 +172,7 @@ class MapDriverController extends GetxController {
isPassengerInfoWindow = false;
isRideStarted = true;
isRideFinished = false;
box.write(BoxName.statusDriverLocation, 'on');
update();
await CRUD().post(link: AppLink.updateRides, payload: {
'id': rideId,
@@ -179,6 +186,7 @@ class MapDriverController extends GetxController {
void finishRideFromDriver() async {
isRideFinished = true;
isRideStarted = false;
box.write(BoxName.statusDriverLocation, 'off');
// changeRideToBeginToPassenger();
await CRUD().post(link: AppLink.updateRides, payload: {
'id': rideId,

View File

@@ -56,7 +56,7 @@ class MapPassengerController extends GetxController {
bool isMainBottomMenuMap = true;
double heightBottomSheetShown = 0;
double cashConfirmPageShown = 250;
late String driverId;
double widthMapTypeAndTraffic = 50;
double paymentPageShown = Get.height * .6;
late LatLng southwest;
@@ -77,7 +77,7 @@ class MapPassengerController extends GetxController {
int timeToPassengerFromDriverAfterApplied = 0;
Timer? timerToPassengerFromDriverAfterApplied;
bool rideTimerBegin = false;
late double progressTimerRideBegin;
double progressTimerRideBegin = 0;
int remainingTimeTimerRideBegin = 60;
late String stringRemainingTimeRideBegin;
@@ -175,23 +175,10 @@ class MapPassengerController extends GetxController {
update();
print('rideTimerBegin: $rideTimerBegin');
print('isRideFinished: $isRideFinished');
Get.to(() => RateCaptain());
// Get.defaultDialog(
// title: 'Ride Is Finished.'.tr,
// titleStyle: AppStyle.title,
// content: Text(
// 'Rate the Captain Please?'.tr,
// style: AppStyle.title,
// ),
// confirm: MyElevatedButton(
// title: 'Ok'.tr,
// onPressed: () {
//
// Get.back(); //todo make Rate page
// },
// ),
// barrierDismissible: false,
// );
Get.to(() => RateCaptainFromPassenger(), arguments: {
'driverId': driverId.toString(),
'rideId': rideId.toString(),
});
}
void getBeginRideFromDriver() async {
@@ -260,7 +247,7 @@ class MapPassengerController extends GetxController {
"time": DateTime.now().toString(),
"endtime": durationToAdd.toString(),
"price": totalPassenger.toString(),
"passenger_id": box.read(BoxName.pasengerID).toString(),
"passenger_id": box.read(BoxName.passengerID).toString(),
"driver_id": dataCarsLocationByPassenger['message'][carsOrder]
['driver_id']
.toString(),
@@ -280,7 +267,7 @@ class MapPassengerController extends GetxController {
duration.toString(),
distance.toString(),
dataCarsLocationByPassenger['message'][carsOrder]['id'].toString(),
box.read(BoxName.pasengerID).toString(),
box.read(BoxName.passengerID).toString(),
box.read(BoxName.name).toString(),
box.read(BoxName.tokenFCM).toString(),
box.read(BoxName.phone).toString(),
@@ -405,7 +392,10 @@ class MapPassengerController extends GetxController {
} else {
dataCarsLocationByPassenger = jsonDecode(res);
// print(dataCarsLocationByPassenger);
driverId = dataCarsLocationByPassenger['message'][carsOrder]
['driver_id']
.toString();
// print('driverId==============$driverId');
for (var i = 0;
i < dataCarsLocationByPassenger['message'].length;
i++) {
@@ -444,14 +434,14 @@ class MapPassengerController extends GetxController {
Future runEvery30SecondsUntilConditionMet() async {
// Calculate the duration of the trip in minutes.
double tripDurationInMinutes = duration1 / 60;
double tripDurationInMinutes = duration1 / 30;
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:
30)); // Run the `getDriverCarsLocationToPassengerAfterApplied()` function.
31)); // Run the `getDriverCarsLocationToPassengerAfterApplied()` function.
await getDriverCarsLocationToPassengerAfterApplied();
reloadMarkerDriverCarsLocationToPassengerAfterApplied();
}
@@ -483,6 +473,16 @@ class MapPassengerController extends GetxController {
} // Update the map with the new markers
}
restCounter() {
clearPlaces();
clearPolyline();
data = [];
rideConfirm = false;
shouldFetch = false;
timeToPassengerFromDriverAfterApplied = 0;
update();
}
Future cancelRide() async {
print(rideConfirm);
@@ -511,7 +511,7 @@ class MapPassengerController extends GetxController {
.driverID
.toString(), // Convert to String
"passengerID":
box.read(BoxName.pasengerID).toString(), // Convert to String
box.read(BoxName.passengerID).toString(), // Convert to String
"rideID": rideId.toString(), // Convert to String
"note": cancelNote
});

View File

@@ -18,7 +18,7 @@ class OrderHistoryController extends GetxController {
Future getOrderHistoryByPassenger() async {
var res = await CRUD().get(link: AppLink.getRides, payload: {
'passenger_id': box.read(BoxName.pasengerID).toString(),
'passenger_id': box.read(BoxName.passengerID).toString(),
});
if (res.toString() == 'failure') {
Get.snackbar('failure', 'message');

View File

@@ -37,7 +37,7 @@ class PaymentController extends GetxController {
await CRUD().get(
link: AppLink.getWalletByPassenger,
payload: {'passenger_id': box.read(BoxName.pasengerID)}).then((value) {
payload: {'passenger_id': box.read(BoxName.passengerID)}).then((value) {
box.write(BoxName.passengerWalletTotal,
jsonDecode(value)['message'][0]['total'].toString());
});

View File

@@ -70,7 +70,7 @@ class ProfileController extends GetxController {
isloading = true;
update();
var res = await CRUD().get(link: AppLink.getprofile, payload: {
'id': box.read(BoxName.pasengerID).toString(),
'id': box.read(BoxName.passengerID).toString(),
});
if (res.toString() == 'failure') {

View File

@@ -1,7 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:ride/constant/box_name.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/controller/functions/crud.dart';
@@ -11,20 +10,18 @@ import 'package:ride/views/home/Captin/home_captin.dart';
import 'package:ride/views/home/map_page.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
class RatePassengerController extends GetxController {
class RateController extends GetxController {
double selectedRateItemId = -1;
TextEditingController comment = TextEditingController();
late String rideId, passengerId, driverId;
String? rideId, passengerId, driverId;
late GlobalKey<FormState> formKey;
@override
void onInit() {
if (box.read(BoxName.driverID).toString() != '' ||
box.read(BoxName.driverID).toString() != null) {
passengerId = Get.arguments['passengerId'];
rideId = Get.arguments['rideId'];
} else {
driverId = Get.arguments['driverId'];
rideId = Get.find<MapPassengerController>().rideId;
}
formKey = GlobalKey<FormState>();
passengerId = Get.arguments['passengerId'];
rideId = Get.arguments['rideId'];
driverId = Get.arguments['driverId'];
super.onInit();
}
@@ -47,9 +44,8 @@ class RatePassengerController extends GetxController {
'rideId': rideId,
'rating': selectedRateItemId.toString(),
'comment': comment.text,
}).then((value) {
Get.offAll(const HomeCaptain());
});
Get.offAll(const HomeCaptain());
}
}
@@ -62,12 +58,13 @@ class RatePassengerController extends GetxController {
confirm: MyElevatedButton(title: 'Ok', onPressed: () => Get.back()));
} else {
await CRUD().post(link: AppLink.addRateToDriver, payload: {
'passenger_id': box.read(BoxName.pasengerID).toString(),
'driverID': driverId,
'rideId': rideId,
'passenger_id': box.read(BoxName.passengerID).toString(),
'driver_id': driverId,
'ride_id': rideId,
'rating': selectedRateItemId.toString(),
'comment': comment.text,
}).then((value) {
Get.find<MapPassengerController>().restCounter();
Get.offAll(const MapPage());
});
}

View File

@@ -8,9 +8,9 @@ import '../../controller/rate/rate_conroller.dart';
import '../widgets/elevated_btn.dart';
import '../widgets/my_scafold.dart';
class RateCaptain extends StatelessWidget {
RateCaptain({super.key});
final RatePassengerController controller = Get.put(RatePassengerController());
class RateCaptainFromPassenger extends StatelessWidget {
RateCaptainFromPassenger({super.key});
final RateController controller = Get.put(RateController());
@override
Widget build(BuildContext context) {
return MyScafolld(
@@ -72,45 +72,43 @@ class RateCaptain extends StatelessWidget {
const SizedBox(
height: 20,
),
Form(
child: SizedBox(
width: Get.width * .75,
child: TextFormField(
maxLines: 4,
minLines: 1,
keyboardType: TextInputType.multiline,
controller: controller.comment,
decoration: InputDecoration(
labelText: 'Enter your Note'.tr,
hintText: 'Type something...',
prefixIcon: const Icon(
Icons.rate_review), // Add an icon as a prefix
suffixIcon: IconButton(
icon: const Icon(
Icons.clear,
color: AppColor.redColor,
), // Add an icon as a suffix
onPressed: () {
controller.comment.clear();
},
),
border:
const OutlineInputBorder(), // Add a border around the input field
enabledBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.blue), // Customize the border color
),
focusedBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.green), // Customize the border color when focused
),
errorBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.red), // Customize the border color when there's an error
),
SizedBox(
width: Get.width * .75,
child: TextFormField(
maxLines: 4,
minLines: 1,
keyboardType: TextInputType.multiline,
controller: controller.comment,
decoration: InputDecoration(
labelText: 'Enter your Note'.tr,
hintText: 'Type something...',
prefixIcon: const Icon(
Icons.rate_review), // Add an icon as a prefix
suffixIcon: IconButton(
icon: const Icon(
Icons.clear,
color: AppColor.redColor,
), // Add an icon as a suffix
onPressed: () {
controller.comment.clear();
},
),
border:
const OutlineInputBorder(), // Add a border around the input field
enabledBorder: const OutlineInputBorder(
borderSide: BorderSide(
color:
Colors.blue), // Customize the border color
),
focusedBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.green), // Customize the border color when focused
),
errorBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.red), // Customize the border color when there's an error
),
),
),
@@ -120,7 +118,7 @@ class RateCaptain extends StatelessWidget {
),
MyElevatedButton(
title: 'Submit rating'.tr,
onPressed: () => controller.addRateToPassenger())
onPressed: () => controller.addRateToDriver())
],
),
)),

View File

@@ -10,7 +10,7 @@ import '../../constant/style.dart';
import '../../controller/rate/rate_conroller.dart';
class RatePassenger extends StatelessWidget {
final RatePassengerController controller = Get.put(RatePassengerController());
final RateController controller = Get.put(RateController());
RatePassenger({super.key});
@@ -75,45 +75,42 @@ class RatePassenger extends StatelessWidget {
const SizedBox(
height: 20,
),
Form(
child: SizedBox(
width: Get.width * .75,
child: TextFormField(
maxLines: 4,
minLines: 1,
keyboardType: TextInputType.multiline,
controller: controller.comment,
decoration: InputDecoration(
labelText: 'Enter your Note'.tr,
hintText: 'Type something...',
prefixIcon: const Icon(
Icons.rate_review), // Add an icon as a prefix
suffixIcon: IconButton(
icon: const Icon(
Icons.clear,
color: AppColor.redColor,
), // Add an icon as a suffix
onPressed: () {
controller.comment.clear();
},
),
border:
const OutlineInputBorder(), // Add a border around the input field
enabledBorder: const OutlineInputBorder(
borderSide: BorderSide(
color:
Colors.blue), // Customize the border color
),
focusedBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.green), // Customize the border color when focused
),
errorBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.red), // Customize the border color when there's an error
),
SizedBox(
width: Get.width * .75,
child: TextFormField(
maxLines: 4,
minLines: 1,
keyboardType: TextInputType.multiline,
controller: controller.comment,
decoration: InputDecoration(
labelText: 'Enter your Note'.tr,
hintText: 'Type something...',
prefixIcon: const Icon(
Icons.rate_review), // Add an icon as a prefix
suffixIcon: IconButton(
icon: const Icon(
Icons.clear,
color: AppColor.redColor,
), // Add an icon as a suffix
onPressed: () {
controller.comment.clear();
},
),
border:
const OutlineInputBorder(), // Add a border around the input field
enabledBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue), // Customize the border color
),
focusedBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.green), // Customize the border color when focused
),
errorBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Colors
.red), // Customize the border color when there's an error
),
),
),

View File

@@ -1,5 +1,3 @@
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
@@ -8,7 +6,6 @@ import 'package:ride/constant/style.dart';
import 'package:ride/controller/home/map_passenger_controller.dart';
import 'package:ride/views/home/map_widget.dart/cancel_raide_page.dart';
import 'package:ride/views/home/map_widget.dart/ride_begin_passenger.dart';
import 'package:ride/views/widgets/circle_container.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
import 'package:ride/views/widgets/mycircular.dart';
@@ -16,12 +13,10 @@ import '../../controller/home/menu_controller.dart';
import 'map_widget.dart/buttom_sheet_map_show.dart';
import 'map_widget.dart/cash_confirm_bottom_page.dart';
import 'map_widget.dart/driver_card_from_passenger.dart';
import 'map_widget.dart/driver_time_arrive_passenger.dart';
import 'map_widget.dart/left_main_menu_icons.dart';
import 'map_widget.dart/main_bottom_Menu_map.dart';
import 'map_widget.dart/map_menu_widget.dart';
import 'map_widget.dart/menu_map_page.dart';
import 'map_widget.dart/passenger_info_window.dart';
import 'map_widget.dart/payment_method.page.dart';
import 'map_widget.dart/timer_for_cancell_trip_from_passenger.dart';
import 'map_widget.dart/timer_to_passenger_from_driver.dart';
@@ -34,35 +29,6 @@ class MapPage extends StatelessWidget {
Get.put(MapPassengerController());
Get.put(MyMenuController());
return Scaffold(
// appBar: AppBar(),
// drawer: Drawer(
// child: ListView(
// padding: EdgeInsets.zero,
// children: [
// ListTile(
// onTap: () {
// Get.to(() => const PassengerWallet());
// },
// leading: Icon(Icons.wallet),
// title: Text('My Wallet'),
// ),
// ListTile(
// onTap: () async {
// // await OrderHistoryController().getOrderHistoryByPassenger();
// Get.to(() => const OrderHistory());
// },
// leading: Icon(Icons.history),
// title: Text('Order History'),
// ),
// ListTile(
// onTap: () {},
// leading: Icon(Icons.money),
// title: Text('Tariff'),
// ),
// ],
// ),
// ),
body: SafeArea(
child: Stack(
children: [

View File

@@ -43,8 +43,8 @@ GetBuilder<MapPassengerController> hexagonClipper() {
// icon: const Icon(Icons.add),
// ),
Text(
controller.dataCarsLocationByPassenger['message'][0]
['phone']
controller.dataCarsLocationByPassenger['message']
[controller.carsOrder]['phone']
.toString(),
style: AppStyle.title,
),
@@ -52,21 +52,21 @@ GetBuilder<MapPassengerController> hexagonClipper() {
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text(
controller.dataCarsLocationByPassenger['message'][0]
['first_name']
controller.dataCarsLocationByPassenger['message']
[controller.carsOrder]['first_name']
.toString() +
' ' +
controller
.dataCarsLocationByPassenger['message'][0]
['last_name']
.dataCarsLocationByPassenger['message']
[controller.carsOrder]['last_name']
.toString(),
style: AppStyle.title,
),
Text(
'Age is '.tr +
controller
.dataCarsLocationByPassenger['message'][0]
['age']
.dataCarsLocationByPassenger['message']
[controller.carsOrder]['age']
.toString(),
style: AppStyle.title,
),
@@ -76,29 +76,30 @@ GetBuilder<MapPassengerController> hexagonClipper() {
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text(
controller.dataCarsLocationByPassenger['message'][0]
['make']
controller.dataCarsLocationByPassenger['message']
[controller.carsOrder]['make']
.toString(),
style: AppStyle.title,
),
Text(
controller.dataCarsLocationByPassenger['message'][0]
['model']
controller.dataCarsLocationByPassenger['message']
[controller.carsOrder]['model']
.toString(),
style: AppStyle.title,
),
Text(
controller.dataCarsLocationByPassenger['message'][0]
['seats']
controller.dataCarsLocationByPassenger['message']
[controller.carsOrder]['seats']
.toString(),
style: AppStyle.title,
),
],
),
Text(
controller.dataCarsLocationByPassenger['message'][0]
['model']
.toString(),
'Rating is '.tr +
controller.dataCarsLocationByPassenger['message']
[controller.carsOrder]['ratingDriver']
.toString(),
style: AppStyle.title,
),
],

View File

@@ -177,6 +177,7 @@ class PassengerInfoWindow extends StatelessWidget {
? const SizedBox()
: MyElevatedButton(
title: 'Start the Ride'.tr,
kolor: AppColor.greenColor,
onPressed: () {
controller.startRideFromDriver();
}),

View File

@@ -1,15 +1,10 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
import '../../../constant/box_name.dart';
import '../../../constant/colors.dart';
import '../../../constant/style.dart';
import '../../../controller/firebase/firbase_messge.dart';
import '../../../controller/functions/crud.dart';
import '../../../controller/home/map_passenger_controller.dart';
import '../../../main.dart';
class RideBeginPassenger extends StatelessWidget {
const RideBeginPassenger({

View File

@@ -388,7 +388,7 @@ class PassengerWallet extends StatelessWidget {
payload: {
'passenger_id': box
.read(BoxName
.pasengerID)
.passengerID)
.toString(),
'balance': controller
.selectedAmount

View File

@@ -22,7 +22,7 @@ class PassengerProfilePage extends StatelessWidget {
action: MyElevatedButton(
title: 'Delete My Account'.tr,
onPressed: () {
LogOut().deleteMyAccount(box.read(BoxName.pasengerID).toString());
LogOut().deleteMyAccount(box.read(BoxName.passengerID).toString());
}),
title: 'My Profile'.tr,
body: [

View File

@@ -7,10 +7,8 @@ import 'package:ride/views/widgets/my_scafold.dart';
import '../../constant/colors.dart';
import '../../constant/style.dart';
import '../../controller/functions/launch.dart';
import '../../controller/functions/location_controller.dart';
import '../home/map_widget.dart/passenger_info_window.dart';
import '../home/map_widget.dart/timer_to_passenger_from_driver.dart';
class PassengerLocationDirection extends StatelessWidget {
PassengerLocationDirection({super.key});

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/constant/box_name.dart';
import 'package:ride/controller/firebase/firbase_messge.dart';
import 'package:ride/controller/home/captin/map_driver_controller.dart';
import 'package:ride/main.dart';
import 'package:ride/views/orderCaptin/driver_map_page.dart';
import 'package:ride/views/widgets/my_scafold.dart';
@@ -162,6 +163,8 @@ class OrderRequestPage extends StatelessWidget {
MyElevatedButton(
title: 'Apply Order'.tr,
onPressed: () async {
box.write(BoxName.statusDriverLocation, 'on');
orderRequestController.changeApplied();
await CRUD().postFromDialogue(
link: AppLink.addDriverOrder,
@@ -234,7 +237,7 @@ class OrderRequestPage extends StatelessWidget {
box.read(BoxName.tokenDriver).toString(),
];
orderRequestController.refuseOrder(
myList[6].toString(), body.toString());
myList[16].toString(), body.toString());
FirebaseMessagesController()
.sendNotificationToPassengerToken(