Update: 2026-07-06 03:45:17
This commit is contained in:
@@ -8,10 +8,7 @@ $country = filterRequest('country') ?: filterRequest('country_code');
|
|||||||
$distance = (float)(filterRequest('distance') ?: 0);
|
$distance = (float)(filterRequest('distance') ?: 0);
|
||||||
$siroPrice = (float)(filterRequest('siro_price') ?: 0);
|
$siroPrice = (float)(filterRequest('siro_price') ?: 0);
|
||||||
|
|
||||||
file_put_contents('/tmp/competitor_debug.log', date('Y-m-d H:i:s') . " - Payload: lat=$lat, lng=$lng, country=$country, dist=$distance, price=$siroPrice\n", FILE_APPEND);
|
|
||||||
|
|
||||||
if (!$lat || !$lng || !$country) {
|
if (!$lat || !$lng || !$country) {
|
||||||
file_put_contents('/tmp/competitor_debug.log', date('Y-m-d H:i:s') . " - Error: Missing params\n", FILE_APPEND);
|
|
||||||
echo json_encode(["status" => "error", "message" => "Missing parameters"]);
|
echo json_encode(["status" => "error", "message" => "Missing parameters"]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@@ -86,23 +83,7 @@ if ($competitorTotalPrice > 0 && $siroPrice < $competitorTotalPrice) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Format the labels
|
// Format the labels
|
||||||
$compNameAr = match(strtolower($topComp)) {
|
$compNameAr = 'التطبيقات الأخرى';
|
||||||
'careem' => 'كريم',
|
|
||||||
'uber' => 'أوبر',
|
|
||||||
'yallago' => 'يلا غو',
|
|
||||||
'jenny' => 'جيني',
|
|
||||||
'taxif' => 'تكسي إف',
|
|
||||||
'com.taxif.passenger' => 'تكسي إف',
|
|
||||||
'indrive' => 'إن درايف',
|
|
||||||
'yango' => 'يانغو',
|
|
||||||
'petra' => 'بترا رايد',
|
|
||||||
'petra ride' => 'بترا رايد',
|
|
||||||
'gojo' => 'جو جو',
|
|
||||||
'didi' => 'ديدي',
|
|
||||||
'zakin' => 'زاكن',
|
|
||||||
'tofaddal'=> 'تفضل',
|
|
||||||
default => $topComp
|
|
||||||
};
|
|
||||||
|
|
||||||
$savingsLabel = "أوفر بـ " . number_format($savingsPct, 1) . "% من $compNameAr ⚡";
|
$savingsLabel = "أوفر بـ " . number_format($savingsPct, 1) . "% من $compNameAr ⚡";
|
||||||
|
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
|
|
||||||
// ── Car Selection List ───────────────────────────────
|
// ── Car Selection List ───────────────────────────────
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 134,
|
height: 115,
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
physics: const BouncingScrollPhysics(),
|
physics: const BouncingScrollPhysics(),
|
||||||
scrollDirection: Axis.horizontal,
|
scrollDirection: Axis.horizontal,
|
||||||
@@ -158,12 +158,13 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
|
|
||||||
// ── Competitor Price Savings Badge ─────────────────────
|
// ── Competitor Price Savings Badge ─────────────────────
|
||||||
if (controller.savingsLabel != null &&
|
if (controller.savingsLabel != null &&
|
||||||
controller.savingsLabel!.isNotEmpty)
|
controller.savingsLabel!.isNotEmpty)
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 4),
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 20, vertical: 4),
|
||||||
child: CompetitorPriceBadge(
|
child: CompetitorPriceBadge(
|
||||||
badgeText: controller.savingsLabel,
|
savingsLabel: controller.savingsLabel,
|
||||||
savingsPercent: controller.savingsPercent ?? 0.0,
|
savingsPercent: controller.savingsPercent ?? 0.0,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -315,7 +316,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
child: AnimatedContainer(
|
child: AnimatedContainer(
|
||||||
duration: const Duration(milliseconds: 300),
|
duration: const Duration(milliseconds: 300),
|
||||||
curve: Curves.easeOutCubic,
|
curve: Curves.easeOutCubic,
|
||||||
width: 122,
|
width: 105,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
gradient: isSelected
|
gradient: isSelected
|
||||||
? LinearGradient(
|
? LinearGradient(
|
||||||
@@ -386,7 +387,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
duration: const Duration(milliseconds: 300),
|
duration: const Duration(milliseconds: 300),
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
carType.image,
|
carType.image,
|
||||||
height: 54,
|
height: 44,
|
||||||
fit: BoxFit.contain,
|
fit: BoxFit.contain,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -429,8 +430,8 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
child: Text(
|
child: Text(
|
||||||
'${_getPassengerPriceText(carType, controller)} ${CurrencyHelper.currency}',
|
'${_getPassengerPriceText(carType, controller)} ${CurrencyHelper.currency}',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 12,
|
fontSize: 14.5,
|
||||||
fontWeight: FontWeight.w700,
|
fontWeight: FontWeight.w800,
|
||||||
color: isSelected
|
color: isSelected
|
||||||
? Colors.white
|
? Colors.white
|
||||||
: AppColor.writeColor.withOpacity(0.8),
|
: AppColor.writeColor.withOpacity(0.8),
|
||||||
|
|||||||
Reference in New Issue
Block a user