This commit is contained in:
Hamza Aleghwairyeen
2024-04-04 15:04:11 +03:00
parent b1310c832d
commit db216342cd
6 changed files with 230 additions and 196 deletions

View File

@@ -23,10 +23,14 @@ class HistoryCaptainController extends GetxController {
var res = await CRUD().get( var res = await CRUD().get(
link: AppLink.getDriverOrder, link: AppLink.getDriverOrder,
payload: {'driver_id': box.read(BoxName.driverID)}); payload: {'driver_id': box.read(BoxName.driverID)});
historyData = jsonDecode(res); if (res != 'failure') {
print(historyData); historyData = jsonDecode(res);
isloading = false; print(historyData);
update(); isloading = false;
update();
} else {
Get.defaultDialog(title: 'Not found');
}
} }
getHistoryDetails(String orderId) async { getHistoryDetails(String orderId) async {

View File

@@ -2345,7 +2345,7 @@ class MapPassengerController extends GetxController {
link: AppLink.getPassengerRate, link: AppLink.getPassengerRate,
payload: {'passenger_id': box.read(BoxName.passengerID)}); payload: {'passenger_id': box.read(BoxName.passengerID)});
if (res != 'failure') { if (res != 'failure') {
passengerRate = double.parse(jsonDecode(res)['message']['rating']); passengerRate = jsonDecode(res)['message']['rating'];
} }
} }
@@ -2354,6 +2354,11 @@ class MapPassengerController extends GetxController {
mapAPIKEY = await storage.read(key: BoxName.mapAPIKEY); mapAPIKEY = await storage.read(key: BoxName.mapAPIKEY);
getFavioratePlaces(); getFavioratePlaces();
readyWayPoints(); readyWayPoints();
addCustomPicker();
addCustomCarIcon();
addCustomStepIcon();
addCustomStartIcon();
addCustomEndIcon();
await getLocation(); await getLocation();
await addToken(); await addToken();
await getKazanPercent(); await getKazanPercent();
@@ -2361,11 +2366,6 @@ class MapPassengerController extends GetxController {
startMarkerReloading(); startMarkerReloading();
// await getCarsLocationByPassenger(); // await getCarsLocationByPassenger();
// await getNearestDriverByPassengerLocation(); // await getNearestDriverByPassengerLocation();
addCustomPicker();
addCustomCarIcon();
addCustomStepIcon();
addCustomStartIcon();
addCustomEndIcon();
initilizeGetStorage(); initilizeGetStorage();
cardNumber = await SecureStorage().readData(BoxName.cardNumber); cardNumber = await SecureStorage().readData(BoxName.cardNumber);

View File

@@ -478,10 +478,12 @@ class MyTranslation extends Translations {
'Distance from Passenger to destination is ': 'Distance from Passenger to destination is ':
"المسافة من الراكب إلى الوجهة هي ", "المسافة من الراكب إلى الوجهة هي ",
'Cost Of Trip IS ': "تكلفة الرحلة هي ", 'Cost Of Trip IS ': "تكلفة الرحلة هي ",
'No ride found yet': '‏لا يوجد طلبات متوفرة حاليا',
'Accept Order': "‏اقبل الطلب", 'Accept Order': "‏اقبل الطلب",
'reject your order.': "رفض طلبك.", 'reject your order.': "رفض طلبك.",
'Bottom Bar Example': "مثال لشريط الأسفل", 'Bottom Bar Example': "مثال لشريط الأسفل",
'Statistics': "الإحصائيات",'Available for rides':'‏مشاوير متاحة', 'Statistics': "الإحصائيات",
'Available for rides': '‏مشاوير متاحة',
'Scan Id': "مسح الهوية", 'Scan Id': "مسح الهوية",
'Camera not initilaized yet': "الكاميرا لم تُثبت بعد", 'Camera not initilaized yet': "الكاميرا لم تُثبت بعد",
'Scan ID MklGoogle': "مسح هوية MklGoogle", 'Scan ID MklGoogle': "مسح هوية MklGoogle",

View File

@@ -39,8 +39,8 @@ class DrawerCaptain extends StatelessWidget {
color: AppColor.greenColor, color: AppColor.greenColor,
gradient: LinearGradient( gradient: LinearGradient(
colors: [ colors: [
AppColor.greenColor, AppColor.primaryColor,
AppColor.yellowColor, AppColor.secondaryColor,
], ],
begin: Alignment.topLeft, begin: Alignment.topLeft,
end: Alignment.bottomRight, end: Alignment.bottomRight,
@@ -100,9 +100,11 @@ class DrawerCaptain extends StatelessWidget {
GetBuilder<ImageController>(builder: (imageController) { GetBuilder<ImageController>(builder: (imageController) {
return imageController.isloading return imageController.isloading
? const MyCircularProgressIndicator() ? const MyCircularProgressIndicator()
: ClipOval( : CircleAvatar(
child: Image.network( radius: 45,
'${AK.serverPHP}/portrate_captain_image/${box.read(BoxName.driverID)}.jpg')); backgroundImage: NetworkImage(
'${AK.serverPHP}/portrate_captain_image/${box.read(BoxName.driverID)}.jpg'),
);
}), }),
Positioned( Positioned(
right: 0, right: 0,

View File

@@ -420,7 +420,7 @@ class OrderRequestPage extends StatelessWidget {
myList[33].toString(), myList[33].toString(),
myList[2].toString(), myList[2].toString(),
myList[5].toString(), myList[5].toString(),
myList[4].toString()); myList[4].toString()); //duration
}, },
kolor: AppColor.redColor, kolor: AppColor.redColor,
), ),

View File

@@ -32,195 +32,221 @@ class AvailableRidesPage extends StatelessWidget {
? const MyCircularProgressIndicator() ? const MyCircularProgressIndicator()
: Padding( : Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: ListView.builder( child: rideAvailableController
itemCount: rideAvailableController .rideAvalibleMap['message'].length ==
.rideAvalibleMap['message'].length, 1 &&
itemBuilder: (BuildContext context, int index) { rideAvailableController.rideAvalibleMap['message']
var list = rideAvailableController [0]['start_location'] ==
.rideAvalibleMap['message'][index]; null
return Container( ? Center(
width: Get.width * .9, child: Text(
decoration: AppStyle.boxDecoration1, 'No ride found yet'.tr,
child: Column( style: AppStyle.headTitle2,
mainAxisAlignment: MainAxisAlignment.spaceAround, ),
children: [ )
Text( : ListView.builder(
' ${list['start_location']}', itemCount: rideAvailableController
style: AppStyle.title, .rideAvalibleMap['message'].length,
), itemBuilder: (BuildContext context, int index) {
Text( var list = rideAvailableController
'${list['end_location']}', .rideAvalibleMap['message'][index];
style: AppStyle.title, return Container(
), width: Get.width * .9,
const SizedBox(height: 4), decoration: AppStyle.boxDecoration1,
Row( child: Column(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceAround, MainAxisAlignment.spaceAround,
children: [ children: [
Text('${'Price: '.tr}${list['price']} \$'),
const SizedBox(height: 4),
Text( Text(
'${list['carType']}', ' ${list['start_location']}',
style: AppStyle.title style: AppStyle.title,
.copyWith(color: AppColor.greenColor),
), ),
], Text(
), '${list['end_location']}',
Row( style: AppStyle.title,
mainAxisAlignment: ),
MainAxisAlignment.spaceAround, const SizedBox(height: 4),
children: [ Row(
Text('📈 ${list['passengerRate']}', mainAxisAlignment:
style: AppStyle.title), MainAxisAlignment.spaceAround,
MyElevatedButton( children: [
title: 'Accept'.tr, Text(
onPressed: () async { '${'Price: '.tr}${list['price']} \$'),
box.write( const SizedBox(height: 4),
BoxName.statusDriverLocation, 'on'); Text(
'${list['carType']}',
style: AppStyle.title.copyWith(
color: AppColor.greenColor),
),
],
),
Row(
mainAxisAlignment:
MainAxisAlignment.spaceAround,
children: [
Text('📈 ${list['passengerRate']}',
style: AppStyle.title),
MyElevatedButton(
title: 'Accept'.tr,
onPressed: () async {
box.write(
BoxName.statusDriverLocation,
'on');
var res = await CRUD().post( var res = await CRUD().post(
link: AppLink.updateStausFromSpeed, link: AppLink
payload: { .updateStausFromSpeed,
'id': list['id'], payload: {
'rideTimeStart': 'id': list['id'],
DateTime.now().toString(), 'rideTimeStart':
'status': 'Apply', DateTime.now().toString(),
'driver_id': 'status': 'Apply',
box.read(BoxName.driverID), 'driver_id': box
}); .read(BoxName.driverID),
// .then((value) { });
// var json = jsonDecode(res); // .then((value) {
print('res $res'); // var json = jsonDecode(res);
if (res == "failure") { print('res $res');
Get.defaultDialog( if (res == "failure") {
title: Get.defaultDialog(
"This ride is already taken by another driver." title:
.tr, "This ride is already taken by another driver."
middleText: '', .tr,
titleStyle: AppStyle.title, middleText: '',
middleTextStyle: AppStyle.title, titleStyle: AppStyle.title,
confirm: MyElevatedButton( middleTextStyle:
title: 'Ok'.tr, AppStyle.title,
onPressed: () { confirm: MyElevatedButton(
Get.back(); title: 'Ok'.tr,
Get.back(); onPressed: () {
Get.back(); Get.back();
})); Get.back();
} else if (jsonDecode(res)['status'] == Get.back();
"success") { }));
List<String> bodyToPassenger = [ } else if (jsonDecode(
box res)['status'] ==
.read(BoxName.driverID) "success") {
.toString(), List<String> bodyToPassenger = [
box box
.read(BoxName.nameDriver)
.toString(),
box
.read(BoxName.tokenDriver)
.toString(),
];
await CRUD().postFromDialogue(
link: AppLink.addDriverOrder,
payload: {
'driver_id':
box.read(BoxName.driverID),
// box.read(BoxName.driverID).toString(),
'order_id': list['id'],
'status': 'Apply'
});
// print(bodyToPassenger);
FirebaseMessagesController()
.sendNotificationToPassengerToken(
'Apply Ride',
'your ride is applied'.tr,
// arguments['DriverList'][9].toString(),
list['passengerToken'].toString(),
// box.read(BoxName.tokenDriver).toString(),
bodyToPassenger,
);
Get.back();
Get.to(
() => PassengerLocationMapPage(),
arguments: {
'passengerLocation':
list['start_location']
.toString(),
'passengerDestination':
list['end_location']
.toString(),
'Duration':
list['duration'].toString(),
'totalCost':
list['price'].toString(),
'Distance':
list['distance'].toString(),
'name': list['first_name']
.toString(),
'phone':
list['phone'].toString(),
'email':
list['email'].toString(),
'WalletChecked':
list['payment_method']
.toString(),
'tokenPassenger':
list['passengerToken']
.toString(),
'direction':
'https://www.google.com/maps/dir/${list['start_location']}/${list['end_location']}/',
'DurationToPassenger':
list['duration'].toString(),
'rideId': list['id'].toString(),
'passengerId':
list['passenger_id']
.toString(),
'driverId': box
.read(BoxName.driverID) .read(BoxName.driverID)
.toString(), .toString(),
'durationOfRideValue': box
list['duration'].toString(), .read(BoxName.nameDriver)
'paymentAmount':
list['price'].toString(),
'paymentMethod':
'cash'.toString() == //todo fix payment method
'true'
? 'visa'
: 'cash',
'isHaveSteps':
'startEnd'.toString(),
'step0': ''.toString(),
'step1': ''.toString(),
'step2': ''.toString(),
'step3': ''.toString(),
'step4': ''.toString(),
'passengerWalletBurc':
list['bruc'].toString(),
'timeOfOrder':
DateTime.now().toString(),
'totalPassenger':
list['price'].toString(),
'carType':
list['carType'].toString(),
'kazan': Get.find<
HomeCaptainController>()
.kazan
.toString(), .toString(),
}); box
} .read(BoxName.tokenDriver)
}, .toString(),
kolor: AppColor.greenColor, ];
), await CRUD().postFromDialogue(
Text( link: AppLink.addDriverOrder,
'📍 ${list['distance']} ${'KM'.tr}', payload: {
style: AppStyle.title 'driver_id': box
.copyWith(color: AppColor.greenColor), .read(BoxName.driverID),
), // box.read(BoxName.driverID).toString(),
'order_id': list['id'],
'status': 'Apply'
});
// print(bodyToPassenger);
FirebaseMessagesController()
.sendNotificationToPassengerToken(
'Apply Ride',
'your ride is applied'.tr,
// arguments['DriverList'][9].toString(),
list['passengerToken']
.toString(),
// box.read(BoxName.tokenDriver).toString(),
bodyToPassenger,
);
Get.back();
Get.to(
() =>
PassengerLocationMapPage(),
arguments: {
'passengerLocation':
list['start_location']
.toString(),
'passengerDestination':
list['end_location']
.toString(),
'Duration': list['duration']
.toString(),
'totalCost': list['price']
.toString(),
'Distance': list['distance']
.toString(),
'name': list['first_name']
.toString(),
'phone': list['phone']
.toString(),
'email': list['email']
.toString(),
'WalletChecked':
list['payment_method']
.toString(),
'tokenPassenger':
list['passengerToken']
.toString(),
'direction':
'https://www.google.com/maps/dir/${list['start_location']}/${list['end_location']}/',
'DurationToPassenger':
list['duration']
.toString(),
'rideId':
list['id'].toString(),
'passengerId':
list['passenger_id']
.toString(),
'driverId': box
.read(BoxName.driverID)
.toString(),
'durationOfRideValue':
list['duration']
.toString(),
'paymentAmount':
list['price']
.toString(),
'paymentMethod':
'cash'.toString() == //todo fix payment method
'true'
? 'visa'
: 'cash',
'isHaveSteps':
'startEnd'.toString(),
'step0': ''.toString(),
'step1': ''.toString(),
'step2': ''.toString(),
'step3': ''.toString(),
'step4': ''.toString(),
'passengerWalletBurc':
list['bruc'].toString(),
'timeOfOrder':
DateTime.now()
.toString(),
'totalPassenger':
list['price']
.toString(),
'carType': list['carType']
.toString(),
'kazan': Get.find<
HomeCaptainController>()
.kazan
.toString(),
});
}
},
kolor: AppColor.greenColor,
),
Text(
'📍 ${list['distance']} ${'KM'.tr}',
style: AppStyle.title.copyWith(
color: AppColor.greenColor),
),
],
)
], ],
) ),
], );
), }),
);
}),
) )
], ],
isleading: true); isleading: true);