This commit is contained in:
Hamza-Ayed
2024-09-04 14:49:36 +03:00
parent 04c47d3431
commit e23709c924
19 changed files with 568 additions and 266 deletions

View File

@@ -34,6 +34,11 @@ List<CarType> carTypes = [
carDetail: 'Closest & Cheapest'.tr,
image: 'assets/images/carspeed.png',
),
CarType(
carType: 'Balash',
carDetail: "Old and affordable, perfect for budget rides.".tr,
image: 'assets/images/balash.png',
),
CarType(
carType: 'Lady',
carDetail: 'Lady Captain for girls'.tr,
@@ -49,11 +54,11 @@ List<CarType> carTypes = [
carDetail: 'Mashwari without end point'.tr,
image: 'assets/images/freeRide.png',
),
// CarType(
// carType: 'Family',
// carDetail: 'Family for 7 passenger'.tr,
// image: 'assets/images/Family.png',
// ),
CarType(
carType: 'Rayeh Gai',
carDetail: "Best choice for cities".tr,
image: 'assets/images/roundtrip.png',
),
];
class CarDetailsTypeToChoose extends StatelessWidget {
@@ -63,25 +68,6 @@ class CarDetailsTypeToChoose extends StatelessWidget {
Widget build(BuildContext context) {
return GetBuilder<MapPassengerController>(
builder: (mapPassengerController) {
if (mapPassengerController.distance > 80) {
carTypes.add(
CarType(
carType: 'Rayeh Gai',
carDetail: "Best choice for cities".tr,
image: 'assets/images/roundtrip.png',
),
);
} // Create a Set to remove duplicates based on the `carType` field
Set<CarType> uniqueCarTypes = {};
uniqueCarTypes.addAll(carTypes);
// Convert the Set back to a List
carTypes = uniqueCarTypes.toList();
if (carTypes.length > 6) {
carTypes.removeRange(6, carTypes.length);
}
return mapPassengerController.data.isNotEmpty &&
mapPassengerController.isBottomSheetShown &&
mapPassengerController.rideConfirm == false
@@ -152,20 +138,25 @@ class CarDetailsTypeToChoose extends StatelessWidget {
? mapPassengerController
.totalPassengerSpeed
.toStringAsFixed(2)
: carType.carType == 'Delivery'
: carType.carType == 'Balash'
? mapPassengerController
.totalPassengerMotoDelivery
.totalPassengerBalash
.toStringAsFixed(2)
: carType.carType == 'Lady'
: carType.carType == 'Delivery'
? mapPassengerController
.totalPassengerLady
.totalPassengerMotoDelivery
.toStringAsFixed(2)
: carType.carType ==
'Rayeh Gai'
: carType.carType == 'Lady'
? mapPassengerController
.totalPassengerRayehGai
.totalPassengerLady
.toStringAsFixed(2)
: '50',
: carType.carType ==
'Rayeh Gai'
? mapPassengerController
.totalPassengerRayehGai
.toStringAsFixed(
2)
: '50',
style:
AppStyle.title.copyWith(fontSize: 20),
),
@@ -237,10 +228,10 @@ class CarDetailsTypeToChoose extends StatelessWidget {
)
],
)
: carType.carType == 'Lady' &&
: carType.carType == 'Balash' &&
(mapPassengerController
.totalPassengerSpeed >
20)
.totalPassengerBalash >
15)
? Row(
children: [
Container(
@@ -259,7 +250,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
),
Text(
mapPassengerController
.totalPassengerLadyDiscount
.totalPassengerBalashDiscount
.toStringAsFixed(
2),
style: AppStyle.title
@@ -273,9 +264,46 @@ class CarDetailsTypeToChoose extends StatelessWidget {
)
],
)
: const SizedBox(
width: 3,
),
: carType.carType == 'Lady' &&
(mapPassengerController
.totalPassengerSpeed >
20)
? Row(
children: [
Container(
decoration: AppStyle
.boxDecoration1,
child: Text(
'-10%',
style: AppStyle
.subtitle
.copyWith(
color:
AppColor.greenColor),
)),
const SizedBox(
width: 10,
),
Text(
mapPassengerController
.totalPassengerLadyDiscount
.toStringAsFixed(
2),
style: AppStyle
.title
.copyWith(
color: AppColor
.redColor,
decoration:
TextDecoration
.lineThrough, // Strikethrough line
),
)
],
)
: const SizedBox(
width: 3,
),
],
),
const SizedBox(
@@ -371,7 +399,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
}));
} else if (mapPassengerController
.selectedIndex ==
3) {
4) {
box.write(BoxName.carType, 'Delivery');
mapPassengerController.totalPassenger =
mapPassengerController
@@ -405,7 +433,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
}));
} else if (mapPassengerController
.selectedIndex ==
4) {
5) {
box.write(BoxName.carType, 'Mashwari');
mapPassengerController.totalPassenger = 50;
Get.defaultDialog(
@@ -435,6 +463,40 @@ class CarDetailsTypeToChoose extends StatelessWidget {
} else if (mapPassengerController
.selectedIndex ==
2) {
box.write(BoxName.carType, 'Balash');
mapPassengerController.totalPassenger =
mapPassengerController
.totalPassengerBalash;
Get.defaultDialog(
title: 'Balash'.tr,
titleStyle: AppStyle.title,
content: CarDialogue(
textToSpeechController:
textToSpeechController,
image: 'assets/images/balash.png',
text:
"Old and affordable, perfect for budget rides."
.tr),
confirm: MyElevatedButton(
kolor: AppColor.greenColor,
title: 'Next'.tr,
onPressed: () {
Get.back();
mapPassengerController
.isBottomSheetShown = false;
mapPassengerController.update();
mapPassengerController
.changeCashConfirmPageShown();
}),
cancel: MyElevatedButton(
title: 'Cancel'.tr,
kolor: AppColor.redColor,
onPressed: () {
Get.back();
}));
} else if (mapPassengerController
.selectedIndex ==
3) {
box.write(BoxName.carType, 'Lady');
mapPassengerController.totalPassenger =
mapPassengerController.totalPassengerLady;
@@ -477,7 +539,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
}));
} else if (mapPassengerController
.selectedIndex ==
5) {
6) {
box.write(BoxName.carType, 'Rayeh Gai');
mapPassengerController.totalPassenger =
mapPassengerController.totalPassengerLady;

View File

@@ -1,10 +1,12 @@
import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/main.dart';
import 'package:SEFER/views/auth/sms_verfy_page.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import '../../../constant/colors.dart';
import '../../../controller/firebase/firbase_messge.dart';
import '../../../controller/functions/audio_record1.dart';
import '../../../controller/functions/tts.dart';
import '../../../controller/home/map_passenger_controller.dart';
@@ -119,15 +121,7 @@ GetBuilder<MapPassengerController> leftMainMenuIcons() {
borderRadius: BorderRadius.circular(15)),
child: IconButton(
onPressed: () async {
FirebaseMessagesController().sendNotificationToDriverMAP(
'message From passenger'.tr,
'My location is correct. You can search for me using the navigation app'
.tr,
'db9hQ9BfT_2U-ocVHbEAej:APA91bG2YiVN8Dw3bNitehENk0sUPKt7A3zoT6GY_NdbxsMVKX8ouZRI6Ix9ScLSGYz31gugsb2Ag087FXmbPbQkD9E7nwOR7USPrai5euFjZXVHNrz2Byacn8gBTGr8HPV-CGHG81lk',
[],
'ding.wav',
);
// print(box.read(BoxName.tokenFCM));
Get.to(SmsSignupEgypt());
},
icon: const Icon(
Icons.chat,