Update: 2026-07-29 19:44:57

This commit is contained in:
Hamza-Ayed
2026-07-29 19:44:58 +03:00
parent 2cf5c63a1e
commit 90d976e1d1
110 changed files with 2238 additions and 2071 deletions
@@ -93,7 +93,7 @@ class MapEngineController extends GetxController {
}
Future<void> onStyleLoaded() async {
Log.print('🗺️ Siro Map Style Loaded. Initializing...');
Log.print('🗺️ Intaleq Map Style Loaded. Initializing...');
isStyleLoaded = true;
await _loadMapIcons();
@@ -1888,7 +1888,7 @@ class RideLifecycleController extends GetxController {
String generateTrackingLink(String rideId, String driverId) {
String cleanRideId = rideId.toString().trim();
String cleanDriverId = driverId.toString().trim();
const String secretSalt = "Siro_Secure_Track_2025";
const String secretSalt = "Intaleq_Secure_Track_2025";
String rawString = "$cleanRideId$cleanDriverId$secretSalt";
var bytes = utf8.encode(rawString);
@@ -2165,7 +2165,7 @@ class RideLifecycleController extends GetxController {
fetchCompetitorContext();
}
/// يجلب مقارنة سعر سيرو مع المنافسين ويحدّث الواجهة بشكل غير مُوقِف
/// يجلب مقارنة سعر انطلق مع المنافسين ويحدّث الواجهة بشكل غير مُوقِف
Future<void> fetchCompetitorContext() async {
try {
final String passengerLat = mapEngine.polylineCoordinates.isNotEmpty
@@ -2182,7 +2182,7 @@ class RideLifecycleController extends GetxController {
'passenger_lng': passengerLng,
'distance': distance.toString(),
'country': box.read(BoxName.countryCode) ?? '',
'siro_price': totalPassengerSpeed,
'intaleq_price': totalPassengerSpeed,
'car_type': 'Speed',
},
);
@@ -267,25 +267,25 @@ class UiInteractionsController extends GetxController {
rideLifecycle.rideId, rideLifecycle.driverId);
String message = """
مرحباً، تابع رحلتي مباشرة على تطبيق سيرو 🚗
مرحباً، تابع رحلتي مباشرة على تطبيق انطلق 🚗
يمكنك تتبع مسار الرحلة من هنا:
$trackingLink
السائق: ${rideLifecycle.passengerName}
السيارة: ${rideLifecycle.model} - ${rideLifecycle.licensePlate}
شكراً لاستخدامك سيرو!
شكراً لاستخدامك انطلق!
"""
.tr;
String messageEn = """Hello, follow my trip live on Siro 🚗
String messageEn = """Hello, follow my trip live on Intaleq 🚗
Track my ride here:
$trackingLink
Driver: ${rideLifecycle.passengerName}
Car: ${rideLifecycle.model} - ${rideLifecycle.licensePlate}
Thank you for using Siro!
Thank you for using Intaleq!
""";
String userLanguage = box.read(BoxName.lang) ?? 'ar';
@@ -338,7 +338,7 @@ Thank you for using Siro!
),
const SizedBox(height: 10),
Text(
"Send Siro app to him".tr,
"Send Intaleq app to him".tr,
style: AppStyle.title
.copyWith(color: AppColor.greenColor, fontSize: 14),
textAlign: TextAlign.center,
@@ -355,14 +355,14 @@ Thank you for using Siro!
var message = '''Dear Friend,
🚀 I have just started an exciting trip on Siro!
🚀 I have just started an exciting trip on Intaleq!
Download the app to track my ride:
👉 Android: https://play.google.com/store/apps/details?id=com.Siro.siro&hl=en-US
👉 iOS: https://apps.apple.com/st/app/siro-rider/id6748075179
👉 Android: https://play.google.com/store/apps/details?id=com.Intaleq.intaleq&hl=en-US
👉 iOS: https://apps.apple.com/st/app/intaleq-rider/id6748075179
See you there!
Siro Team''';
Intaleq Team''';
launchCommunication('whatsapp', phone, message);
},
@@ -127,7 +127,7 @@ import 'dart:async';
// formSearchPlaces(3),
// ];
// SiroMapController? mapController;
// IntaleqMapController? mapController;
// bool isStyleLoaded = false;
// Set<Marker> markers = {};
@@ -3931,7 +3931,7 @@ import 'dart:async';
// String cleanDriverId = driverId.toString().trim();
// // الكلمة السرية للمطابقة مع السيرفر
// const String secretSalt = "Siro_Secure_Track_2025";
// const String secretSalt = "Intaleq_Secure_Track_2025";
// // الدمج والتشفير
// String rawString = "$cleanRideId$cleanDriverId$secretSalt";
@@ -4007,25 +4007,25 @@ import 'dart:async';
// // 4. تجهيز الرسالة (بالإنجليزية وجاهزة للترجمة)
// // لاحظ: استخدمت المتغيرات الموجودة في الكنترولر (passengerName هنا عادة يحمل اسم السائق في الكنترولر الخاص بك حسب الكود السابق)
// String message = """
// مرحباً، تابع رحلتي مباشرة على تطبيق سيرو 🚗
// مرحباً، تابع رحلتي مباشرة على تطبيق انطلق 🚗
// يمكنك تتبع مسار الرحلة من هنا:
// $trackingLink
// السائق: $passengerName
// السيارة: $model - $licensePlate
// شكراً لاستخدامك سيرو!
// شكراً لاستخدامك انطلق!
// """
// .tr;
// String messageEn = """Hello, follow my trip live on Siro 🚗
// String messageEn = """Hello, follow my trip live on Intaleq 🚗
// Track my ride here:
// $trackingLink
// Driver: $passengerName
// Car: $model - $licensePlate
// Thank you for using Siro!
// Thank you for using Intaleq!
// """;
// // اختر الرسالة بناءً على اللغة المفضلة (مثال بسيط)
@@ -4132,7 +4132,7 @@ import 'dart:async';
// ),
// const SizedBox(height: 10),
// Text(
// "Send Siro app to him".tr,
// "Send Intaleq app to him".tr,
// style: AppStyle.title
// .copyWith(color: AppColor.greenColor, fontSize: 14),
// textAlign: TextAlign.center,
@@ -4153,14 +4153,14 @@ import 'dart:async';
// // تصحيح نص الرسالة
// var message = '''Dear Friend,
// 🚀 I have just started an exciting trip on Siro!
// 🚀 I have just started an exciting trip on Intaleq!
// Download the app to track my ride:
// 👉 Android: https://play.google.com/store/apps/details?id=com.Siro.siro&hl=en-US
// 👉 iOS: https://apps.apple.com/st/app/siro-rider/id6748075179
// 👉 Android: https://play.google.com/store/apps/details?id=com.Intaleq.intaleq&hl=en-US
// 👉 iOS: https://apps.apple.com/st/app/intaleq-rider/id6748075179
// See you there!
// Siro Team''';
// Intaleq Team''';
// launchCommunication('whatsapp', phone, message);
// }),
@@ -4519,7 +4519,7 @@ import 'dart:async';
// if (mapController != null) {
// mapController!.animateCamera(CameraUpdate.newLatLng(
// currentPos)); // Optional: Follow car if needed
// // Note: SiroMapController doesn't expose raw symbol update yet for Marker object,
// // Note: IntaleqMapController doesn't expose raw symbol update yet for Marker object,
// // but declarative update via GetBuilder is fast.
// }
@@ -5452,13 +5452,13 @@ import 'dart:async';
// );
// }
// void onMapCreated(SiroMapController controller) {
// void onMapCreated(IntaleqMapController controller) {
// mapController = controller;
// update();
// }
// void onStyleLoaded() async {
// Log.print('🗺️ Siro Map Style Loaded. Initializing...');
// Log.print('🗺️ Intaleq Map Style Loaded. Initializing...');
// isStyleLoaded = true;
// _loadMapIcons();
@@ -48,9 +48,9 @@ class InviteController extends GetxController {
Future<void> shareDriverCode() async {
if (driverCouponCode != null) {
final String shareText = '''
${'Join Siro as a driver using my referral code!'.tr}
${'Join Intaleq as a driver using my referral code!'.tr}
${'Use code:'.tr} $driverCouponCode
${'Download the Siro Driver app now and earn rewards:'.tr}
${'Download the Intaleq Driver app now and earn rewards:'.tr}
${AppLink.inviteRedirectUrl}?code=$driverCouponCode&app=driver
''';
await Share.share(shareText);
@@ -62,7 +62,7 @@ ${AppLink.inviteRedirectUrl}?code=$driverCouponCode&app=driver
final String shareText = '''
${'Get a discount on your first Intaleq ride!'.tr}
${'Use my referral code:'.tr} $couponCode
${'Download the Siro app now and enjoy your ride:'.tr}
${'Download the Intaleq app now and enjoy your ride:'.tr}
${AppLink.inviteRedirectUrl}?code=$couponCode&app=rider
''';
await Share.share(shareText);
@@ -216,7 +216,7 @@ ${AppLink.inviteRedirectUrl}?code=$couponCode&app=rider
String inviteCode = (payload['inviteCode'] ?? '').toString();
String message =
"👋 ${'Hello! I\'m inviting you to try Siro.'.tr}\n\n"
"👋 ${'Hello! I\'m inviting you to try Intaleq.'.tr}\n\n"
"🎁 ${'Use my invitation code to get a special gift on your first ride!'.tr}\n\n"
"${'Your personal invitation code is:'.tr}\n"
"*$inviteCode*\n\n"
@@ -183,18 +183,18 @@ class SplashScreenController extends GetxController
final List<String> msgs = passengerMessages ?? const [];
if (msgs.isEmpty) {
controller.scheduleNotificationsForSevenDays(
'Siro', 'مرحباً بك! تابع رحلاتك بأمان مع سيرو.', "tone1");
'Intaleq', 'مرحباً بك! تابع رحلاتك بأمان مع انطلق.', "tone1");
} else {
final rnd = Random();
final raw = msgs[rnd.nextInt(msgs.length)];
final parts = raw.split(':');
final title = parts.isNotEmpty ? parts.first.trim() : 'Siro';
final title = parts.isNotEmpty ? parts.first.trim() : 'Intaleq';
final body = parts.length > 1
? parts.sublist(1).join(':').trim()
: 'مرحباً بك! تابع رحلاتك بأمان مع سيرو.';
: 'مرحباً بك! تابع رحلاتك بأمان مع انطلق.';
controller.scheduleNotificationsForSevenDays(
title.isEmpty ? 'Siro' : title,
body.isEmpty ? 'مرحباً بك! تابع رحلاتك بأمان مع سيرو.' : body,
title.isEmpty ? 'Intaleq' : title,
body.isEmpty ? 'مرحباً بك! تابع رحلاتك بأمان مع انطلق.' : body,
"tone1");
}
} catch (e, st) {