Food: single-source tracking, mode exclusivity, in-app navigation

This commit is contained in:
Hamza-Ayed
2026-08-04 02:41:54 +03:00
parent 788d3dcbe5
commit d695834d19
14 changed files with 607 additions and 83 deletions
@@ -98,6 +98,25 @@ class FoodDeliveryService {
return FoodDeliveryApiResult(false, null, _errMsg(res));
}
/// بثّ موقع السائق للزبون أثناء المهمة. الخادم يرفضه بعد التسليم،
/// وينتهي آخر موقع من Redis تلقائياً — لا تتبّع خارج نافذة العمل.
static Future<void> sendLocation({
required int orderId,
required double lat,
required double lng,
double? heading,
}) async {
await CRUD().post(
link: '$_base/courier/location.php',
payload: {
'order_id': orderId.toString(),
'lat': lat.toString(),
'lng': lng.toString(),
if (heading != null) 'heading': heading.toStringAsFixed(0),
},
);
}
static Future<FoodDeliveryApiResult<void>> markPickedUp(int orderId) async {
final res = await CRUD().post(
link: '$_base/courier/picked_up.php',