Update: 2026-07-09 01:55:25

This commit is contained in:
Hamza-Ayed
2026-07-09 01:55:25 +03:00
parent ac0c343f18
commit 7dff7b6973
12 changed files with 374 additions and 28 deletions
@@ -110,6 +110,13 @@ class RideAvailableCard extends StatelessWidget {
const RideAvailableCard({Key? key, required this.rideInfo}) : super(key: key);
/// يحوّل driver_earnings_extra (نص من الـ Socket) إلى double، أو null إن لم يوجد
double? get _earningsExtra {
final raw = rideInfo['driver_earnings_extra'];
if (raw == null) return null;
return double.tryParse(raw.toString());
}
@override
Widget build(BuildContext context) {
return Card(
@@ -128,10 +135,16 @@ class RideAvailableCard extends StatelessWidget {
const Divider(height: 24, thickness: 0.5),
_buildRideDetails(),
const SizedBox(height: 12),
// ── إضافة شارة الأرباح هنا ──
const DriverEarningsBadge(
earningsLabel: "أرباحك أعلى هنا مقارنة بـ المنافسين",
extraAmount: 2.50, // القيمة هنا ستُسحب من الـ Socket / API قريباً
// ── شارة الأرباح — مصدرها rideInfo['driver_earnings_extra'] القادم
// من add_ride.php (broadcastRideToMarket عبر Socket). ملاحظة: الرحلات
// المجلوبة من الجلب الأولي (getRideWaiting.php) ما زالت لا تحمل هذا
// الحقل، فالشارة بتختفي تلقائياً لحد ما تُحدَّث تلك النقطة لاحقاً.
DriverEarningsBadge(
earningsLabel: _earningsExtra != null
? "أرباحك أعلى هنا مقارنة بـ المنافسين"
: null,
extraAmount: _earningsExtra,
currency: rideInfo['driver_earnings_currency']?.toString() ?? 'ل.س',
),
const SizedBox(height: 12),
_buildAcceptButton(),