From ebf6b6cdb589a6d9846a3043710f3d69cc91ea79 Mon Sep 17 00:00:00 2001 From: Hamza Aleghwairyeen Date: Mon, 8 Apr 2024 15:37:58 +0300 Subject: [PATCH] 4/7/6 --- .../home/map_passenger_controller.dart | 15 ++--- lib/views/home/map_page_passenger.dart | 8 +-- .../map_widget.dart/ride_begin_passenger.dart | 5 +- .../map_widget.dart/ride_from_start_app.dart | 62 +++++++++++++++++++ 4 files changed, 76 insertions(+), 14 deletions(-) create mode 100644 lib/views/home/map_widget.dart/ride_from_start_app.dart diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 8c3e78f..c3391f5 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -119,6 +119,8 @@ class MapPassengerController extends GetxController { double heavyPrice = 0; double naturePrice = 0; bool heightMenuBool = false; + String statusRide = 'wait'; + bool statusRideFromStart = false; bool isPickerShown = false; bool isPointsPageForRider = false; bool isBottomSheetShown = false; @@ -691,6 +693,7 @@ class MapPassengerController extends GetxController { } } + Map rideStatusFromStartApp = {}; getRideStatusFromStartApp() async { try { var res = await CRUD().get( @@ -699,14 +702,13 @@ class MapPassengerController extends GetxController { if (res == 'failure') { //print(res); } - var decode = jsonDecode(res); - print(decode['data']); - if (decode['data'] == 'Begin') { + rideStatusFromStartApp = jsonDecode(res); + print(rideStatusFromStartApp['data']['status']); + if (rideStatusFromStartApp['data']['status'] == 'Begin') { statusRide = 'Begin'; + statusRideFromStart = true; update(); - // todo from sql or get storage - // List pol = box.read(BoxName.tripData); - // print(pol); + Map tripData = box.read(BoxName.tripData) as Map; print(tripData); @@ -1011,7 +1013,6 @@ class MapPassengerController extends GetxController { update(); } - String statusRide = 'wait'; void delayAndFetchRideStatus(String rideId) { Timer(const Duration(milliseconds: 200), () async { if (shouldFetch) { diff --git a/lib/views/home/map_page_passenger.dart b/lib/views/home/map_page_passenger.dart index 6a6302a..b148048 100644 --- a/lib/views/home/map_page_passenger.dart +++ b/lib/views/home/map_page_passenger.dart @@ -12,17 +12,15 @@ import 'map_widget.dart/apply_order_widget.dart'; import 'map_widget.dart/buttom_sheet_map_show.dart'; import 'map_widget.dart/car_details_widget_to_go.dart'; import 'map_widget.dart/cash_confirm_bottom_page.dart'; -import 'map_widget.dart/driver_card_from_passenger.dart'; import 'map_widget.dart/google_map_passenger_widget.dart'; -import 'map_widget.dart/left_main_menu_icons.dart'; //Ml@6Pt@11 +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/payment_method.page.dart'; import 'map_widget.dart/points_page_for_rider.dart'; +import 'map_widget.dart/ride_from_start_app.dart'; import 'map_widget.dart/searching_captain_window.dart'; -import 'map_widget.dart/timer_for_cancell_trip_from_passenger.dart'; -import 'map_widget.dart/timer_to_passenger_from_driver.dart'; class MapPagePassenger extends StatelessWidget { const MapPagePassenger({super.key}); @@ -54,7 +52,7 @@ class MapPagePassenger extends StatelessWidget { // timerForCancelTripFromPassenger(), // const DriverTimeArrivePassengerPage(), // const TimerToPassengerFromDriver(), - const RideBeginPassenger(), + const RideBeginPassenger(), const RideFromStartApp(), cancelRidePage(), PointsPageForRider() ], 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 946962e..2158d58 100644 --- a/lib/views/home/map_widget.dart/ride_begin_passenger.dart +++ b/lib/views/home/map_widget.dart/ride_begin_passenger.dart @@ -21,7 +21,8 @@ class RideBeginPassenger extends StatelessWidget { ProfileController profileController = Get.put(ProfileController()); AudioController audioController = Get.put(AudioController()); return GetBuilder(builder: (controller) { - if (controller.rideTimerBegin || controller.statusRide == 'Begin') { + if (controller.rideTimerBegin || + controller.statusRide == 'Begin' && !controller.statusRideFromStart) { return Positioned( left: 10, right: 10, @@ -73,7 +74,7 @@ class RideBeginPassenger extends StatelessWidget { ), tooltip: ' Add Note', // Optional tooltip for clarity ), - audioController.isRecoding == false + audioController.isRecording == false ? IconButton( onPressed: () { audioController.startRecording(); 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 new file mode 100644 index 0000000..9b8b813 --- /dev/null +++ b/lib/views/home/map_widget.dart/ride_from_start_app.dart @@ -0,0 +1,62 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +import '../../../constant/style.dart'; +import '../../../controller/home/map_passenger_controller.dart'; + +class RideFromStartApp extends StatelessWidget { + const RideFromStartApp({super.key}); + + @override + Widget build(BuildContext context) { + return GetBuilder(builder: (controller) { + return (controller.statusRideFromStart || + controller.statusRide == 'Begin') + ? Positioned( + left: 10, + right: 10, + bottom: 4, + child: Container( + decoration: AppStyle.boxDecoration1, + height: 200, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + '${'duration is'.tr} ${controller.rideStatusFromStartApp['data']['endtime']}', + style: AppStyle.title, + ), + Text( + '${'price is'.tr} ${controller.rideStatusFromStartApp['data']['price']} 💵', + style: AppStyle.title, + ), + Text( + '${'distance is'.tr} ${controller.rideStatusFromStartApp['data']['distance']}', + style: AppStyle.title, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + '${'driver name is'.tr} ${controller.rideStatusFromStartApp['data']['driverName']}', + style: AppStyle.title, + ), + Text( + '${'driver name is'.tr} ${controller.rideStatusFromStartApp['data']['rateDriver']}', + style: AppStyle.title, + ), + ], + ) + ], + ), + ], + ), + ), + ) + : const SizedBox(); + }); + } +}