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
@@ -529,6 +529,40 @@ class _OrderOverlayState extends State<OrderOverlay>
),
],
),
// 🆕 "أرباحك أعلى" — يظهر فقط إذا في فرق إيجابي حقيقي من الباك اند
if (order.driverEarningsExtra != null &&
order.driverEarningsExtra! > 0) ...[
const SizedBox(height: 10),
Container(
width: double.infinity,
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 12),
decoration: BoxDecoration(
color: AppColors.priceHighlight.withOpacity(0.12),
borderRadius: BorderRadius.circular(10),
border: Border.all(
color: AppColors.priceHighlight.withOpacity(0.35),
width: 1),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Icon(Icons.trending_up_rounded,
color: AppColors.priceHighlight, size: 16),
const SizedBox(width: 6),
Text(
"أرباحك أعلى بـ ${order.driverEarningsExtra!.toStringAsFixed(2)} ${order.driverEarningsCurrency ?? ''} من التطبيقات الثانية"
.tr,
style: const TextStyle(
color: AppColors.priceHighlight,
fontSize: 11.5,
fontWeight: FontWeight.w700,
),
textAlign: TextAlign.center,
),
],
),
),
],
const SizedBox(height: 12),
Divider(color: AppColors.gray.withOpacity(0.2), thickness: 1),
const SizedBox(height: 12),
@@ -238,14 +238,16 @@ class OrderRequestPage extends StatelessWidget {
),
// ── Earnings Compare Badge ──────────────────
// يتم جلبه من API مشابه أو يمكن ربطه ببيانات الكنترولر لاحقاً.
// نتركه متاحاً للتحديث عبر الكنترولر (controller.driverBadgeText, controller.extraEarnings).
// سنستخدم قيم افتراضية للتأكد من الريندر (UI render) الآن
// سيتم تفعيله من الباك إند
// مصدر البيانات: driver_earnings_extra/currency القادمة من add_ride.php
// (عبر FCM أو Socket) — controller.driverEarningsExtra يبقى null إذا
// ما في فرق إيجابي حقيقي، فالويدجت نفسه بيختفي تلقائياً.
const SizedBox(height: 5),
const DriverEarningsBadge(
earningsLabel: "أرباحك أعلى هنا مقارنة بـ المنافسين",
extraAmount: 2.50, // القيمة هنا ستُسحب من الـ Socket / API قريباً
DriverEarningsBadge(
earningsLabel: controller.driverEarningsExtra != null
? "أرباحك أعلى هنا مقارنة بـ المنافسين"
: null,
extraAmount: controller.driverEarningsExtra,
currency: controller.driverEarningsCurrency,
),
const SizedBox(height: 15),