From e59e94a04e139c6bbed8fbb4c2716d47e2612d43 Mon Sep 17 00:00:00 2001 From: Hamza Aleghwairyeen Date: Mon, 8 Apr 2024 18:22:19 +0300 Subject: [PATCH] 4/7/9 --- lib/constant/box_name.dart | 1 + .../home/captin/map_driver_controller.dart | 3 +- .../home/map_passenger_controller.dart | 6 +- .../map_widget.dart/ride_begin_passenger.dart | 30 ++++++++- .../map_widget.dart/ride_from_start_app.dart | 61 ++++++++++++++++--- 5 files changed, 88 insertions(+), 13 deletions(-) diff --git a/lib/constant/box_name.dart b/lib/constant/box_name.dart index 344c46e..ef510cd 100644 --- a/lib/constant/box_name.dart +++ b/lib/constant/box_name.dart @@ -8,6 +8,7 @@ class BoxName { static const String carPlate = "carPlate"; static const String statusDriverLocation = "statusDriverLocation"; static const String password = "password"; + static const String arrivalTime = "arrivalTime"; static const String passwordDriver = "passwordDriver"; static const String agreeTerms = "agreeTerms"; static const String addWork = 'addWork'; diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 8e400a0..3c2c8df 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -434,7 +434,8 @@ class MapDriverController extends GetxController { await CRUD().post(link: AppLink.updateRides, payload: { 'id': rideId, 'rideTimeFinish': DateTime.now().toString(), - 'status': 'Finished' + 'status': 'Finished', + 'price': totalCost, }); print('walletChecked is $walletChecked'); if (walletChecked == 'true') { diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 16f5050..cb16910 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -584,7 +584,7 @@ class MapPassengerController extends GetxController { DateTime now = DateTime.now(); DateTime arrivalTime1 = now.add(Duration(seconds: durationToRide)); arrivalTime = DateFormat('hh:mm').format(arrivalTime1); - + box.write(BoxName.arrivalTime, arrivalTime); for (int i = 0; i <= durationToRide; i++) { await Future.delayed(const Duration(seconds: 1)); progressTimerRideBegin = i / durationToRide; @@ -659,6 +659,7 @@ class MapPassengerController extends GetxController { void tripFinishedFromDriver() async { isRideFinished = true; rideTimerBegin = false; + box.write(BoxName.arrivalTime, ''); remainingTimeTimerRideBegin = 0; update(); } @@ -706,6 +707,9 @@ class MapPassengerController extends GetxController { print(rideStatusFromStartApp['data']['status']); if (rideStatusFromStartApp['data']['status'] == 'Begin') { statusRide = 'Begin'; + driverId = rideStatusFromStartApp['data']['driver_id']; + firstName = rideStatusFromStartApp['data']['driverName']; + driverRate = rideStatusFromStartApp['data']['rateDriver'].toString(); statusRideFromStart = true; // DateTime endTime = // DateTime.parse(rideStatusFromStartApp['data']['endtime']); 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 8c68b84..4fb74f7 100644 --- a/lib/views/home/map_widget.dart/ride_begin_passenger.dart +++ b/lib/views/home/map_widget.dart/ride_begin_passenger.dart @@ -29,7 +29,7 @@ class RideBeginPassenger extends StatelessWidget { bottom: 4, child: Container( decoration: AppStyle.boxDecoration, - height: controller.rideTimerBegin ? 200 : 0, + height: controller.rideTimerBegin ? Get.height * .3 : 0, // width: 100, child: Padding( padding: const EdgeInsets.all(8.0), @@ -107,6 +107,34 @@ class RideBeginPassenger extends StatelessWidget { ), ], ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + CircleAvatar( + radius: 30, + backgroundImage: NetworkImage( + // '', + // ), + 'https://ride.mobile-app.store/portrate_captain_image/${controller.driverId}.jpg'), + ), + Text( + controller.firstName, + style: AppStyle.title, + ), + Column( + children: [ + Text( + '${controller.driverRate} 📈', + style: AppStyle.title, + ), + // Text( + // '${controller.rideStatusFromStartApp['data']['carType']}', + // style: AppStyle.title, + // ), + ], + ), + ], + ), Stack( children: [ // StreamCounter(), diff --git a/lib/views/home/map_widget.dart/ride_from_start_app.dart b/lib/views/home/map_widget.dart/ride_from_start_app.dart index 3d931f2..6ea4c94 100644 --- a/lib/views/home/map_widget.dart/ride_from_start_app.dart +++ b/lib/views/home/map_widget.dart/ride_from_start_app.dart @@ -24,7 +24,7 @@ class RideFromStartApp extends StatelessWidget { bottom: 4, child: Container( decoration: AppStyle.boxDecoration1, - height: 200, + height: Get.height * .3, child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.start, @@ -32,17 +32,58 @@ class RideFromStartApp extends StatelessWidget { Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - Text( - '${controller.rideStatusFromStartApp['data']['endtime']} ⏱️', - style: AppStyle.title, + Container( + width: Get.width * .15, + decoration: AppStyle.boxDecoration1, + child: Column( + children: [ + Text( + '⏱️', + style: AppStyle.title, + ), + Text( + // controller.rideStatusFromStartApp['data'] + // ['endtime'], + box.read(BoxName.arrivalTime), + style: AppStyle.title, + ), + ], + ), ), - Text( - '${controller.rideStatusFromStartApp['data']['distance']} 📍', - style: AppStyle.title, + Container( + width: Get.width * .15, + decoration: AppStyle.boxDecoration1, + child: Column( + children: [ + Text( + '📍', + style: AppStyle.title, + ), + Text( + controller.rideStatusFromStartApp['data'] + ['distance'] + .toString(), + style: AppStyle.title, + ), + ], + ), ), - Text( - '${controller.rideStatusFromStartApp['data']['price']} 💵', - style: AppStyle.title, + Container( + width: Get.width * .15, + decoration: AppStyle.boxDecoration1, + child: Column( + children: [ + Text( + '💵 ', + style: AppStyle.title, + ), + Text( + controller.rideStatusFromStartApp['data'] + ['price'], + style: AppStyle.title, + ), + ], + ), ), ], ),