25-12-1/1

This commit is contained in:
Hamza-Ayed
2025-12-01 07:52:54 +03:00
parent b1b8efdd7d
commit 9b1008a0bf
40 changed files with 2471 additions and 2039 deletions

View File

@@ -2,6 +2,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:just_audio/just_audio.dart';
import 'package:sefer_driver/constant/api_key.dart';
import '../../../../constant/box_name.dart';
@@ -213,13 +214,14 @@ class _OrderOverlayState extends State<OrderOverlay>
await _closeOverlay();
return;
}
var res = await CRUD().post(link: AppLink.updateStausFromSpeed, payload: {
'id': orderData!.orderId,
'rideTimeStart': DateTime.now().toString(),
'status': 'Apply',
'driver_id': box.read(BoxName.driverID),
});
var res = await CRUD().post(
link: "${AppLink.ride}/rides/updateStausFromSpeed.php",
payload: {
'id': orderData!.orderId,
'rideTimeStart': DateTime.now().toString(),
'status': 'Apply',
'driver_id': box.read(BoxName.driverID),
});
List<String> bodyToPassenger = [
_getData(6).toString(),
_getData(8).toString(),
@@ -340,16 +342,12 @@ class _OrderOverlayState extends State<OrderOverlay>
_log("Driver ID is null, cannot refuse order");
return;
}
await _crud.post(link: AppLink.addDriverOrder, payload: {
_crud.post(link: AppLink.addDriverOrder, payload: {
'driver_id': driverId,
'order_id': orderID,
'status': 'Refused'
});
await _crud.post(link: AppLink.updateRides, payload: {
'id': orderID,
'status': 'Refused',
'driver_id': driverId,
});
_log("Order $orderID refused successfully");
} catch (e) {
_log("Error in _apiRefuseOrder for $orderID: $e");
@@ -509,9 +507,16 @@ class _OrderOverlayState extends State<OrderOverlay>
children: [
Expanded(
flex: 3,
child: _buildHighlightInfo("\$${order.price}", "السعر".tr,
Icons.monetization_on_rounded, AppColors.priceHighlight,
isLarge: true),
child: _buildHighlightInfo(
// التعديل هنا 👇
"${NumberFormat('#,##0').format(order.price)} ل.س",
// أو يمكنك استخدام "SYP" بدلاً من "ل.س"
"السعر".tr,
Icons.monetization_on_rounded,
AppColors.priceHighlight,
isLarge: true,
),
),
const SizedBox(width: 12),
Expanded(

View File

@@ -248,38 +248,31 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
kolor: AppColor.greenColor,
title: 'Accept Order'.tr,
onPressed: () async {
Get.put(HomeCaptainController()).changeRideId();
box.write(BoxName.statusDriverLocation, 'on');
controller.endTimer();
controller.changeApplied();
var res = await CRUD().post(
link: AppLink.updateStausFromSpeed,
payload: {
'id': (controller.myList[16]),
'rideTimeStart': DateTime.now().toString(),
'status': 'Apply',
'driver_id': box.read(BoxName.driverID),
});
CRUD().post(
link:
"${AppLink.endPoint}/ride/rides/updateStausFromSpeed.php",
"${AppLink.ride}/rides/updateStausFromSpeed.php",
payload: {
'id': (controller.myList[16]),
'rideTimeStart': DateTime.now().toString(),
'status': 'Apply',
'driver_id': box.read(BoxName.driverID),
});
if (res == 'failure') {
MyDialog().getDialog(
"This ride is already applied by another driver."
.tr,
'', () {
Get.back();
// Get.back();
Get.back();
});
} else {
await CRUD().postFromDialogue(
Get.put(HomeCaptainController()).changeRideId();
box.write(BoxName.statusDriverLocation, 'on');
controller.endTimer();
controller.changeApplied();
CRUD().postFromDialogue(
link: AppLink.addDriverOrder,
payload: {
'driver_id':
@@ -386,33 +379,26 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
title: 'Refuse Order'.tr,
onPressed: () async {
controller.endTimer();
List<String> bodyToPassenger = [
box.read(BoxName.driverID).toString(),
box.read(BoxName.nameDriver).toString(),
box.read(BoxName.tokenDriver).toString(),
];
// List<String> bodyToPassenger = [
// box.read(BoxName.driverID).toString(),
// box.read(BoxName.nameDriver).toString(),
// box.read(BoxName.tokenDriver).toString(),
// ];
// FirebaseMessagesController()
// .sendNotificationToPassengerToken(
// 'Order Under Review'.tr,
// '${box.read(BoxName.nameDriver)} ${'is reviewing your order. They may need more information or a higher price.'.tr}',
// controller.myList[9].toString(),
// bodyToPassenger,
// 'notification');
NotificationService.sendNotification(
target: controller.myList[9].toString(),
title: 'Order Under Review'.tr,
body:
'${box.read(BoxName.nameDriver)} ${'is reviewing your order. They may need more information or a higher price.'.tr}',
isTopic: false, // Important: this is a token
tone: 'start',
driverList: [], category: 'Order Under Review',
);
// NotificationService.sendNotification(
// target: controller.myList[9].toString(),
// title: 'Order Under Review'.tr,
// body:
// '${box.read(BoxName.nameDriver)} ${'is reviewing your order. They may need more information or a higher price.'.tr}',
// isTopic: false, // Important: this is a token
// tone: 'start',
// driverList: bodyToPassenger,
// category: 'Order Under Review',
// );
controller.refuseOrder(
EncryptionHelper.instance.encryptData(
controller.myList[16].toString()),
);
// controller.refuseOrder(
// (controller.myList[16].toString()),
// );
controller.addRideToNotificationDriverString(
controller.myList[16].toString(),
controller.myList[29].toString(),

File diff suppressed because it is too large Load Diff