Update: 2026-08-07 05:29:18

This commit is contained in:
Hamza-Ayed
2026-08-07 05:29:18 +03:00
parent b938e287c6
commit 0b8b687ce1
5 changed files with 208 additions and 0 deletions
@@ -2592,10 +2592,42 @@ class MapDriverController extends GetxController
}
}
/// ‏يسأل الخادم عن آخر رحلة منتهية لم يقيّم السائق راكبها، ويفتح شاشة
/// ‏التقييم إن وُجدت. لا ينتظر ولا يرمي — لا يعطّل بدء العمل.
void _checkPendingPassengerRating() async {
try {
final res = await CRUD().post(
link: AppLink.pendingRating,
payload: {'role': 'driver'},
);
final data = res is Map ? (res['message'] ?? res['data']) : null;
if (data is! Map || data['pending'] != true) return;
Get.to(
() => RatePassenger(),
arguments: {
'passengerId': data['targetId']?.toString() ?? '',
'rideId': data['rideId']?.toString() ?? '',
'price': data['price']?.toString() ?? '',
'walletChecked': 'false',
},
preventDuplicates: true,
);
} catch (e) {
Log.print('⚠️ تعذّر فحص التقييم المتأخر: $e');
}
}
@override
void onInit() async {
mapAPIKEY = await storage.read(key: BoxName.mapAPIKEY);
await argumentLoading();
// ‏شاشة تقييم الراكب تُفتح مباشرة بعد إنهاء الرحلة (Get.off أدناه)،
// ‏لكن السائق الذي يغلقها أو يُقفل تطبيقه لا يُطلب منه التقييم ثانيةً.
// ‏هذا الفحص يلتقط المتأخر عند أول فتح للتطبيق.
_checkPendingPassengerRating();
Get.put(FirebaseMessagesController());
runGoogleMapDirectly();
addCustomCarIcon();