Update: 2026-07-09 01:55:25
This commit is contained in:
@@ -159,6 +159,9 @@ class FirebaseMessagesController extends GetxController {
|
||||
'DriverList': myList,
|
||||
'body': body,
|
||||
'is_destination_match': message.data['is_destination_match'] ?? '0',
|
||||
// 🆕 "أرباحك أعلى" — يُرسَل فقط عند وجود فرق إيجابي حقيقي
|
||||
'driver_earnings_extra': message.data['driver_earnings_extra'],
|
||||
'driver_earnings_currency': message.data['driver_earnings_currency'],
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -411,6 +411,9 @@ class LocationController extends GetxController with WidgetsBindingObserver {
|
||||
'DriverList': driverList,
|
||||
'body': 'New Trip Request via Socket ⚡',
|
||||
'is_destination_match': rideData['is_destination_match'] ?? '0',
|
||||
// 🆕 "أرباحك أعلى" — نفس الحقل الجاي من FCM، متوفر أيضاً عبر السوكيت
|
||||
'driver_earnings_extra': rideData['driver_earnings_extra'],
|
||||
'driver_earnings_currency': rideData['driver_earnings_currency'],
|
||||
});
|
||||
} else {
|
||||
Log.print(
|
||||
|
||||
@@ -65,6 +65,10 @@ class OrderRequestController extends GetxController
|
||||
String tripPrice = "--";
|
||||
bool isDestinationMatch = false; // 🆕 Destination Match flag
|
||||
|
||||
// 🆕 Driver Earnings Advantage — "أرباحك أعلى" badge
|
||||
double? driverEarningsExtra;
|
||||
String driverEarningsCurrency = 'ل.س';
|
||||
|
||||
String timeToPassenger = "Calculating...".tr;
|
||||
String distanceToPassenger = "--";
|
||||
|
||||
@@ -165,6 +169,7 @@ class OrderRequestController extends GetxController
|
||||
args['is_destination_match'] == true) {
|
||||
isDestinationMatch = true;
|
||||
}
|
||||
_parseEarningsData(args);
|
||||
}
|
||||
// ب) هل هي قادمة من Socket بالمفاتيح الرقمية ("0", "1", ...)؟
|
||||
else {
|
||||
@@ -175,6 +180,7 @@ class OrderRequestController extends GetxController
|
||||
args['is_destination_match'] == true) {
|
||||
isDestinationMatch = true;
|
||||
}
|
||||
_parseEarningsData(args);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,6 +195,21 @@ class OrderRequestController extends GetxController
|
||||
"📍 Parsed Coordinates: Pax($latPassenger, $lngPassenger) -> Dest($latDestination, $lngDestination)");
|
||||
}
|
||||
|
||||
/// 🆕 يقرأ حقل "أرباحك أعلى" من بيانات الطلب (FCM أو Socket) إن وُجد
|
||||
void _parseEarningsData(Map args) {
|
||||
final rawExtra = args['driver_earnings_extra'];
|
||||
if (rawExtra != null) {
|
||||
final parsed = double.tryParse(rawExtra.toString());
|
||||
if (parsed != null && parsed > 0) {
|
||||
driverEarningsExtra = parsed;
|
||||
}
|
||||
}
|
||||
final rawCurrency = args['driver_earnings_currency'];
|
||||
if (rawCurrency != null && rawCurrency.toString().isNotEmpty) {
|
||||
driverEarningsCurrency = rawCurrency.toString();
|
||||
}
|
||||
}
|
||||
|
||||
/// 🔥 دالة ذكية تجلب القيمة سواء كانت البيانات في List أو Map
|
||||
dynamic _getValueAt(int index) {
|
||||
// الأولوية للقائمة
|
||||
|
||||
Reference in New Issue
Block a user