fix marker rendering & modernize riding widgets for dark mode - 2026-04-11

This commit is contained in:
Hamza-Ayed
2026-04-11 01:14:09 +03:00
parent 3f03f25142
commit 454276d1e0
88 changed files with 50376 additions and 23310 deletions

View File

@@ -295,8 +295,8 @@ class PaymentController extends GetxController {
)),
allowsDelayedPaymentMethods: true,
customerEphemeralKeySecret: Stripe.merchantIdentifier,
appearance: const PaymentSheetAppearance(
shapes: PaymentSheetShape(borderRadius: 12),
appearance: PaymentSheetAppearance(
shapes: const PaymentSheetShape(borderRadius: 12),
colors: PaymentSheetAppearanceColors(
background: AppColor.secondaryColor,
),
@@ -691,8 +691,8 @@ class PaymentController extends GetxController {
// final passengerID = box.read(BoxName.passengerID).toString();
// final formattedAmount = double.parse(amount).toStringAsFixed(0);
// print("🚀 بدء عملية دفع MTN");
// print(
// Log.print("🚀 بدء عملية دفع MTN");
// Log.print(
// "📦 Payload: passengerID: $passengerID, amount: $formattedAmount, phone: $phone");
// // التحقق بالبصمة (اختياري) + حماية من الـ await
@@ -704,7 +704,7 @@ class PaymentController extends GetxController {
// );
// if (!didAuth) {
// if (Get.isDialogOpen == true) Get.back();
// print("❌ المستخدم لم يؤكد بالبصمة/الوجه");
// Log.print("❌ المستخدم لم يؤكد بالبصمة/الوجه");
// return;
// }
// }
@@ -720,8 +720,8 @@ class PaymentController extends GetxController {
// },
// );
// // print("✅ استجابة الخادم (mtn_start_payment.php):");
// // print(responseData);
// // Log.print("✅ استجابة الخادم (mtn_start_payment.php):");
// // Log.print(responseData);
// Log.print('responseData: ${responseData}');
// // فحص الاستجابة بقوة
@@ -745,7 +745,7 @@ class PaymentController extends GetxController {
// final operationNumber = messageData["operationNumber"].toString();
// final guid = messageData["guid"].toString();
// // print(
// // Log.print(
// // "📄 invoiceNumber: $invoiceNumber, 🔢 operationNumber: $operationNumber, 🧭 guid: $guid");
// // أغلق السبينر قبل إظهار حوار OTP
@@ -780,10 +780,10 @@ class PaymentController extends GetxController {
// ).then((res) => otpInput = (res ?? "") as String);
// if (otpInput.isEmpty) {
// print("❌ لم يتم إدخال OTP");
// Log.print("❌ لم يتم إدخال OTP");
// return;
// }
// print("🔐 تم إدخال OTP: $otpInput");
// Log.print("🔐 تم إدخال OTP: $otpInput");
// // سبينر أثناء التأكيد
// Get.dialog(const Center(child: CircularProgressIndicator()),
@@ -804,7 +804,7 @@ class PaymentController extends GetxController {
// if (Get.isDialogOpen == true) Get.back();
// // print("✅ استجابة mtn_confirm.php:");
// // Log.print("✅ استجابة mtn_confirm.php:");
// // Log.print('confirmRes: ${confirmRes}');
// final ok = (confirmRes is Map && confirmRes['status'] == 'success');
@@ -820,9 +820,9 @@ class PaymentController extends GetxController {
// Get.defaultDialog(title: "❌ فشل", content: Text(errorMsg.tr));
// }
// } catch (e, s) {
// print("🔥 خطأ أثناء الدفع عبر MTN:");
// print(e);
// print(s);
// Log.print("🔥 خطأ أثناء الدفع عبر MTN:");
// Log.print(e);
// Log.print(s);
// if (Get.isDialogOpen == true) Get.back();
// Get.defaultDialog(
// title: 'حدث خطأ',
@@ -853,8 +853,8 @@ class PaymentController extends GetxController {
final passengerId = box.read(BoxName.passengerID).toString();
final formattedAmount = double.parse(amount).toStringAsFixed(0);
print("🚀 Syriatel payment start");
print(
Log.print("🚀 Syriatel payment start");
Log.print(
"📦 Payload => passengerId:$passengerId amount:$formattedAmount phone:$phone");
// مصادقة حيوية (اختياري)
@@ -865,7 +865,7 @@ class PaymentController extends GetxController {
);
if (!ok) {
_closeAnyDialog();
print("❌ User did not authenticate");
Log.print("❌ User did not authenticate");
return;
}
}
@@ -881,7 +881,7 @@ class PaymentController extends GetxController {
},
);
print("✅ Server response (start): $startRaw");
Log.print("✅ Server response (start): $startRaw");
// تحويل الاستجابة إلى Map
late final Map<String, dynamic> startRes;
@@ -901,7 +901,7 @@ class PaymentController extends GetxController {
final messageData = startRes['message'] as Map<String, dynamic>;
final transactionID = messageData['transactionID'].toString();
print("📄 transactionID: $transactionID");
Log.print("📄 transactionID: $transactionID");
//
// 2) اطلب من المستخدم إدخال OTP عبر Get.dialog (بدون context)
_closeAnyDialog(); // أغلق اللودينغ أولاً
@@ -929,10 +929,10 @@ class PaymentController extends GetxController {
);
if (otp == null || otp.isEmpty) {
print("❌ OTP not provided");
Log.print("❌ OTP not provided");
return;
}
print("🔐 OTP: $otp");
Log.print("🔐 OTP: $otp");
await _showLoading();
@@ -947,7 +947,7 @@ class PaymentController extends GetxController {
_closeAnyDialog(); // أغلق اللودينغ
print("✅ Response (confirm): $confirmRaw");
Log.print("✅ Response (confirm): $confirmRaw");
late final Map<String, dynamic> confirmRes;
if (confirmRaw is Map<String, dynamic>) {
@@ -971,7 +971,7 @@ class PaymentController extends GetxController {
);
}
} catch (e, s) {
print("🔥 Error during Syriatel Wallet payment:\n$e\n$s");
Log.print("🔥 Error during Syriatel Wallet payment:\n$e\n$s");
_closeAnyDialog();
Get.defaultDialog(
title: 'حدث خطأ',
@@ -1013,7 +1013,7 @@ class _EcashDriverPaymentScreenState extends State<EcashDriverPaymentScreen> {
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setNavigationDelegate(NavigationDelegate(
onPageFinished: (url) async {
print('Ecash Driver WebView URL Finished: $url');
Log.print('Ecash Driver WebView URL Finished: $url');
await Get.find<PaymentController>().getPassengerWallet();
// هنا نتحقق فقط من أن المستخدم عاد إلى صفحة النجاح
// لا حاجة لاستدعاء أي API هنا، فالـ Webhook يقوم بكل العمل