diff --git a/lib/constant/box_name.dart b/lib/constant/box_name.dart index 2059d9f..26ae147 100644 --- a/lib/constant/box_name.dart +++ b/lib/constant/box_name.dart @@ -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"; diff --git a/lib/controller/auth/login_controller.dart b/lib/controller/auth/login_controller.dart index b7e4d65..1da89ca 100644 --- a/lib/controller/auth/login_controller.dart +++ b/lib/controller/auth/login_controller.dart @@ -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; diff --git a/lib/controller/auth/tokens_controller.dart b/lib/controller/auth/tokens_controller.dart index 34382bc..91d44f2 100644 --- a/lib/controller/auth/tokens_controller.dart +++ b/lib/controller/auth/tokens_controller.dart @@ -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() }, ); diff --git a/lib/controller/functions/location_controller.dart b/lib/controller/functions/location_controller.dart index 015ad26..ef3dfed 100644 --- a/lib/controller/functions/location_controller.dart +++ b/lib/controller/functions/location_controller.dart @@ -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'); + } }); } diff --git a/lib/controller/functions/log_out.dart b/lib/controller/functions/log_out.dart index 692ec66..6a21a9d 100644 --- a/lib/controller/functions/log_out.dart +++ b/lib/controller/functions/log_out.dart @@ -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); diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index 3fc4883..a603858 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -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(); } diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 9b1d58d..88e4e96 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -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(); 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, diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index b0a94e9..3cb1e0a 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -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 }); diff --git a/lib/controller/home/profile/order_history_controller.dart b/lib/controller/home/profile/order_history_controller.dart index eaffdbc..cb3b496 100644 --- a/lib/controller/home/profile/order_history_controller.dart +++ b/lib/controller/home/profile/order_history_controller.dart @@ -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'); diff --git a/lib/controller/payment/payment_controller.dart b/lib/controller/payment/payment_controller.dart index 384f5d0..a008424 100644 --- a/lib/controller/payment/payment_controller.dart +++ b/lib/controller/payment/payment_controller.dart @@ -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()); }); diff --git a/lib/controller/profile/profile_controller.dart b/lib/controller/profile/profile_controller.dart index dad32ce..7398845 100644 --- a/lib/controller/profile/profile_controller.dart +++ b/lib/controller/profile/profile_controller.dart @@ -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') { diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 448e987..52c074d 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -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 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().rideId; - } + formKey = GlobalKey(); + 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().restCounter(); Get.offAll(const MapPage()); }); } diff --git a/lib/views/Rate/rate_captain.dart b/lib/views/Rate/rate_captain.dart index 410d598..f71d5f7 100644 --- a/lib/views/Rate/rate_captain.dart +++ b/lib/views/Rate/rate_captain.dart @@ -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()) ], ), )), diff --git a/lib/views/Rate/rate_passenger.dart b/lib/views/Rate/rate_passenger.dart index a43c818..12e909a 100644 --- a/lib/views/Rate/rate_passenger.dart +++ b/lib/views/Rate/rate_passenger.dart @@ -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 ), ), ), diff --git a/lib/views/home/map_page.dart b/lib/views/home/map_page.dart index 41fdc9e..80a9c60 100644 --- a/lib/views/home/map_page.dart +++ b/lib/views/home/map_page.dart @@ -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: [ diff --git a/lib/views/home/map_widget.dart/driver_card_from_passenger.dart b/lib/views/home/map_widget.dart/driver_card_from_passenger.dart index a83c2d8..0847dea 100644 --- a/lib/views/home/map_widget.dart/driver_card_from_passenger.dart +++ b/lib/views/home/map_widget.dart/driver_card_from_passenger.dart @@ -43,8 +43,8 @@ GetBuilder 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 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 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, ), ], diff --git a/lib/views/home/map_widget.dart/passenger_info_window.dart b/lib/views/home/map_widget.dart/passenger_info_window.dart index 77eb647..e318758 100644 --- a/lib/views/home/map_widget.dart/passenger_info_window.dart +++ b/lib/views/home/map_widget.dart/passenger_info_window.dart @@ -177,6 +177,7 @@ class PassengerInfoWindow extends StatelessWidget { ? const SizedBox() : MyElevatedButton( title: 'Start the Ride'.tr, + kolor: AppColor.greenColor, onPressed: () { controller.startRideFromDriver(); }), diff --git a/lib/views/home/map_widget.dart/ride_begin_passenger.dart b/lib/views/home/map_widget.dart/ride_begin_passenger.dart index 5c9528e..be73c1c 100644 --- a/lib/views/home/map_widget.dart/ride_begin_passenger.dart +++ b/lib/views/home/map_widget.dart/ride_begin_passenger.dart @@ -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({ diff --git a/lib/views/home/my_wallet/passenger_wallet.dart b/lib/views/home/my_wallet/passenger_wallet.dart index 0af65ce..bf0a3cb 100644 --- a/lib/views/home/my_wallet/passenger_wallet.dart +++ b/lib/views/home/my_wallet/passenger_wallet.dart @@ -388,7 +388,7 @@ class PassengerWallet extends StatelessWidget { payload: { 'passenger_id': box .read(BoxName - .pasengerID) + .passengerID) .toString(), 'balance': controller .selectedAmount diff --git a/lib/views/home/profile/passenger_profile_page.dart b/lib/views/home/profile/passenger_profile_page.dart index 82d73b2..e46d731 100644 --- a/lib/views/home/profile/passenger_profile_page.dart +++ b/lib/views/home/profile/passenger_profile_page.dart @@ -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: [ diff --git a/lib/views/orderCaptin/driver_map_page.dart b/lib/views/orderCaptin/driver_map_page.dart index 8247d2b..f7d3a4f 100644 --- a/lib/views/orderCaptin/driver_map_page.dart +++ b/lib/views/orderCaptin/driver_map_page.dart @@ -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}); diff --git a/lib/views/orderCaptin/order_request_page.dart b/lib/views/orderCaptin/order_request_page.dart index 40a79b0..2c8eafe 100644 --- a/lib/views/orderCaptin/order_request_page.dart +++ b/lib/views/orderCaptin/order_request_page.dart @@ -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( diff --git a/pubspec.lock b/pubspec.lock index 351ccf3..836c2da 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -436,10 +436,10 @@ packages: dependency: "direct main" description: name: google_maps_flutter - sha256: c290921cd1750b5ede99c82dcaa84740da86278e6ed0f83ad29752b29a8552c6 + sha256: d4914cb38b3dcb62c39c085d968d434de0f8050f00f4d9f5ba4a7c7e004934cb url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.5.0" google_maps_flutter_android: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b016e0f..73f18a9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ dependencies: firebase_messaging: ^14.6.7 firebase_core: ^2.15.0 flutter_local_notifications: ^15.1.0+1 - google_maps_flutter: ^2.4.0 + google_maps_flutter: ^2.5.0 sqflite: ^2.3.0 path: ^1.8.3 google_sign_in: ^6.1.4