refactor: إعادة تسمية التطبيقات الأربعة siro_* → intaleq_*

المجلدات وأسماء حزم dart واستيراداتها:
  siro_rider → intaleq_rider    siro_driver  → intaleq_driver
  siro_admin → intaleq_admin    siro_service → intaleq_service

شمل ذلك `name:` في كل pubspec وكل `package:siro_*` في الاستيرادات
(115 ملفاً في rider وحده)، وإشارات أسماء المجلدات في docs/ وتعليق في
backend/Admin/notifications/broadcast.php. لم تبقَ إشارة واحدة (تحقّقت).

+ ضُمّت حزم get و get_storage داخل intaleq_driver/packages/ وحُوّلت
مساراتها الثلاثة من `../../Intaleq/packages/*` إلى `./packages/*`. كانت
تُحل عرضاً إلى مجلد App/Intaleq القديم المجاور — تبعية خارج المستودع
تنكسر بأول نقل. لم يبقَ في أي تطبيق تبعية مسار خارج الشجرة.

⚠️ لم تُمسّ بعد: هويات المتاجر (applicationId · PRODUCT_BUNDLE_IDENTIFIER ·
shorebird app_id) ولا الألوان ولا النصوص المرئية ولا النطاقات — كل منها
كوميت منفصل، والهويات تحتاج قرار المالك.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hamza-Ayed
2026-07-27 16:10:58 +03:00
co-authored by Claude Opus 5
parent 92dc6b3641
commit 0aab85c732
3137 changed files with 65294 additions and 1950 deletions
+81
View File
@@ -0,0 +1,81 @@
import 'package:secure_string_operations/secure_string_operations.dart';
import '../env/env.dart';
import 'char_map.dart';
class AK {
static final String sss_pass = X.r(X.r(X.r(Env.sss_pass, cn), cC), cs);
static final String allowed = Env.allowed;
static final String allowedWallet = Env.allowedWallet;
static final String passnpassenger = X
.r(X.r(X.r(Env.passnpassenger, cn), cC), cs)
.toString()
.split(Env.addd)[0];
static final String newId = Env.newId;
static final String sss_encryptionSalt =
X.r(X.r(X.r(Env.sss_encryptionSalt, cn), cC), cs);
static final String basicAuthCredentials =
X.r(X.r(X.r(Env.basicAuthCredentials, cn), cC), cs);
static final String basicCompareFaces =
X.r(X.r(X.r(Env.basicCompareFaces, cn), cC), cs);
static final String accountSIDTwillo =
X.r(X.r(X.r(Env.accountSIDTwillo, cn), cC), cs);
static final String serverAPI = X.r(X.r(X.r(Env.serverAPI, cn), cC), cs);
static final String mapAPIKEY = Env.mapAPIKEY;
static final String mapSaasKey = Env.mapSaasKey;
static final String twilloRecoveryCode =
X.r(X.r(X.r(Env.twilloRecoveryCode, cn), cC), cs);
static final String authTokenTwillo =
X.r(X.r(X.r(Env.authTokenTwillo, cn), cC), cs);
static final String chatGPTkey = X.r(X.r(X.r(Env.chatGPTkey, cn), cC), cs);
static final String transactionCloude =
X.r(X.r(X.r(Env.transactionCloude, cn), cC), cs);
static final String visionApi = X.r(X.r(X.r(Env.visionApi, cn), cC), cs);
static final String chatGPTkeySefer =
X.r(X.r(X.r(Env.chatGPTkeySefer, cn), cC), cs);
static final String chatGPTkeySeferNew =
X.r(X.r(X.r(Env.chatGPTkeySeferNew, cn), cC), cs);
static final String serverPHP = Env.serverPHP;
static final String llamaKey = X.r(X.r(X.r(Env.llamaKey, cn), cC), cs);
static final String cohere = X.r(X.r(X.r(Env.cohere, cn), cC), cs);
static final String claudeAiAPI = X.r(X.r(X.r(Env.claudeAiAPI, cn), cC), cs);
static final String geminiApi = X.r(X.r(X.r(Env.geminiApi, cn), cC), cs);
static final String agoraAppId = X.r(X.r(X.r(Env.agoraAppId, cn), cC), cs);
static final String agoraAppCertificate =
X.r(X.r(X.r(Env.agoraAppCertificate, cn), cC), cs);
static final String integrationIdPayMob =
X.r(X.r(X.r(Env.integrationIdPayMob, cn), cC), cs);
static final String passwordPayMob =
X.r(X.r(X.r(Env.passwordPayMob, cn), cC), cs);
static final String usernamePayMob =
X.r(X.r(X.r(Env.usernamePayMob, cn), cC), cs);
static final String payMobApikey =
X.r(X.r(X.r(Env.payMobApikey, cn), cC), cs);
static final String integrationIdPayMobWallet =
X.r(X.r(X.r(Env.integrationIdPayMobWallet, cn), cC), cs);
static final String smsPasswordEgypt =
X.r(X.r(X.r(Env.smsPasswordEgypt, cn), cC), cs);
static final String ocpApimSubscriptionKey = Env.ocpApimSubscriptionKey;
static final String chatGPTkeySeferNew4 =
X.r(X.r(X.r(Env.chatGPTkeySeferNew4, cn), cC), cs);
static final String anthropicAIkeySeferNew =
X.r(X.r(X.r(Env.anthropicAIkeySeferNew, cn), cC), cs);
static final String llama3Key = X.r(X.r(X.r(Env.llama3Key, cn), cC), cs);
static final String payMobOutPassword =
X.r(X.r(X.r(Env.payMobOutPassword, cn), cC), cs);
static final String payMobOutUserName =
X.r(X.r(X.r(Env.payMobOutUserName, cn), cC), cs);
///////////
static final String keyOfApp = X.r(X.r(X.r(Env.keyOfApp, cn), cC), cs);
}
class KN {
static const String pmobsec = 'PAYMOBOUTCLIENTSECRET';
static const String pmobid = 'PAYMOBOUTCLIENT_ID';
}
+132
View File
@@ -0,0 +1,132 @@
class BoxName {
static const String driverID = "driverID";
static const String countryCode = "countryCode";
static const String googlaMapApp = "googlaMapApp";
static const String keyOfApp = 'keyOfApp';
static const String initializationVector = 'initializationVector';
static const String firstTimeLoadKey = 'firstTimeLoadKey';
static const String jwt = "jwt";
static const String walletJwt = "walletJwt";
static const String blockUntilDate = "blockUntilDate";
static const String rideId = "rideId";
static const String rideArgumentsFromBackground =
"rideArgumentsFromBackground";
static const String FCM_PRIVATE_KEY = "FCM_PRIVATE_KEY";
static const String hmac = "hmac";
static const String ttsEnabled = "ttsEnabled";
static const String deviceFingerprint = "deviceFingerprint";
static const String deviceFpEncrypted = "deviceFpEncrypted";
static const String security_check = "security_check";
static const String rideType = "rideType";
static const String walletType = "walletType";
static const String fingerPrint = "fingerPrint";
static const String updateInterval = "updateInterval";
static const String payMobApikey = "payMobApikey";
static const String refreshToken = "refreshToken";
static const String lang = "lang";
static const String isvibrate = "isvibrate";
static const String myListString = "myListString";
static const String myList = "myList";
static const String bodyOrder = "bodyOrder";
static const String gender = "gender";
static const String phoneWallet = "phoneWallet";
static const String locationName = "locationName";
static const String basicLink = "basicLink";
static const String paymentLink = "paymentLink";
static const String isSavedPhones = "IsSavedPhones";
static const String isTest = "isTest";
static const String carType = "carType";
static const String carTypeOfDriver = "carTypeOfDriver";
static const String isFirstTime = "isFirstTime";
static const String deviceInfo = "deviceInfo";
static const String packagInfo = "packagInfo";
static const String phoneVerified = "phoneVerified";
static const String carPlate = "carPlate";
static const String statusDriverLocation = "statusDriverLocation";
static const String isAppInForeground = "isAppInForeground";
static const String rideStatus = "rideStatus";
static const String nameArabic = "nameArabic";
static const String carYear = "carYear";
static const String password = "password";
static const String isVerified = '0';
static const String arrivalTime = "arrivalTime";
static const String locationPermission = "locationPermission";
static const String passwordDriver = "passwordDriver";
static const String agreeTerms = "agreeTerms";
static const String addWork = 'addWork';
static const String addHome = 'addHome';
static const String rideArguments = 'rideArguments';
static const String durationData = 'durationData';
static const String rideStaticDriverData = 'rideStaticDriverData';
static const String lastTimeStaticThrottle = 'lastTimeStaticThrottle';
static const String lastTimeCaptainWalletCashOut =
'lastTimeCaptainWalletCashOut';
static const String tipPercentage = 'tipPercentage';
static const String faceDetectTimes = "faceDetectTimes";
static const String sosPhonePassenger = "sosPhonePassenger";
static const String sosPhoneDriver = "sosPhoneDriver";
static const String passengerID = "pasengerID";
static const String phone = "phone";
static const String phoneDriver = "phoneDriver";
static const String is_claimed = "is_claimed";
static const String isInstall = "isInstall";
static const String isGiftToken = "isGiftToken";
static const String lastOtpTime = "lastOtpTime";
static const String bankCodeDriver = "bankCodeDriver";
static const String accountBankNumberDriver = "accountBankNumberDriver";
static const String dobDriver = "dobDriver";
static const String sexDriver = "sexDriver";
static const String lastNameDriver = "lastNameDriver";
static const String name = "name";
static const String nameDriver = "nameDriver";
static const String driverPhotoUrl = "driverPhotoUrl";
static const String email = "email";
static const String emailDriver = "emailDriver";
static const String tokens = "tokens";
static const String tokenFCM = "tokenFCM";
static const String tokenDriver = "tokenDriver";
static const String cardNumber = "cardNumber";
static const String cardNumberDriver = "cardNumberDriver";
static const String cardHolderName = "cardHolderName";
static const String cardHolderNameDriver = "cardHolderNameDriver";
static const String expiryDate = "expiryDate";
static const String expiryDateDriver = "expiryDateDriver";
static const String cvvCode = "cvvCode";
static const String cvvCodeDriver = "cvvCodeDriver";
static const String passengerWalletDetails = "passengerWalletDetails";
static const String passengerWalletTotal = "passengerWalletTotal";
static const String passengerWalletFound = "passengerWalletFound";
static const String periods = 'periods';
static const String onBoarding = 'onBoarding';
static const String apiKeyRun = 'apiKeyRun';
static const String serverAPI = 'serverAPI';
static const String serverChosen = 'serverChosen';
static const String secretKey = 'secretKey';
static const String basicAuthCredentials = 'basicAuthCredentials';
static const String mapAPIKEY = 'mapAPIKEY';
static const String twilloRecoveryCode = 'twilloRecoveryCode';
static const String accountSIDTwillo = 'accountSIDTwillo';
static const String authTokenTwillo = 'authTokenTwillo';
static const String chatGPTkey = 'chatGPTkey';
static const String chatGPTkeySefer = 'chatGPTkeySefer';
static const String transactionCloude = 'transactionCloude';
static const String visionApi = 'visionApi';
static const String vin = "vin";
static const String make = "make";
static const String model = "model";
static const String year = "year";
static const String expirationDate = "expirationDate";
static const String color = "color";
static const String owner = "owner";
static const String registrationDate = "registrationDate";
static const String recentLocations = 'recentLocations';
static const String tripData = 'tripData';
// 🚌 مواصلاتي — وضع الباص (يُكتب من LocationController.setBusMode)
// تقرأه background_service لتمييز أحداث السوكيت في الخلفية
static const String isBusMode = 'isBusMode';
static const String busModeTripId = 'busModeTripId';
static const String busModeRouteId = 'busModeRouteId';
}
+75
View File
@@ -0,0 +1,75 @@
import '../env/env.dart';
Map<String, String> cs = {
"a": Env.a,
"b": Env.b,
"c": Env.c,
"d": Env.d,
"e": Env.e,
"f": Env.f,
"g": Env.g,
"h": Env.h,
"i": Env.i,
"j": Env.j,
"k": Env.k,
"l": Env.l,
"m": Env.m,
"n": Env.n,
"o": Env.o,
"p": Env.p,
"q": Env.q,
"r": Env.r,
"s": Env.s,
"t": Env.t,
"u": Env.u,
"v": Env.v,
"w": Env.w,
"x": Env.x,
"y": Env.y,
"z": Env.z,
};
Map<String, String> cC = {
"A": Env.A,
"B": Env.B,
"C": Env.C,
"D": Env.D,
"E": Env.E,
"F": Env.F,
"G": Env.G,
"H": Env.H,
"I": Env.I,
"J": Env.J,
"K": Env.K,
"L": Env.L,
"M": Env.M,
"N": Env.N,
"O": Env.O,
"P": Env.P,
"Q": Env.Q,
"R": Env.R,
"S": Env.S,
"T": Env.T,
"U": Env.U,
"V": Env.V,
"W": Env.W,
"X": Env.X,
"Y": Env.Y,
"Z": Env.Z
};
//
//
Map<String, String> cn = {
"0": "3",
"1": "7",
"2": "1",
"3": "9",
"4": "0",
"5": "5",
"6": "2",
"7": "6",
"8": "4",
"9": "8"
};
@@ -0,0 +1,37 @@
import 'package:intaleq_maps/intaleq_maps.dart';
class CityPolygons {
// ==========================================================
// 1. مدينة دمشق (المناطق الأساسية والراقية)
// يمكنك تعديل هذه الإحداثيات لتشمل المناطق المطلوبة بدقة أكبر
// ==========================================================
static final List<LatLng> damascusPolygon = [
const LatLng(33.541, 36.230), // دمر / الشمال الغربي
const LatLng(33.550, 36.330), // القابون / برزة - الشمال الشرقي
const LatLng(33.470, 36.330), // جرمانا / الجنوب الشرقي
const LatLng(33.460, 36.240), // المزة / كفرسوسة - الجنوب الغربي
const LatLng(33.541, 36.230), // العودة لنقطة البداية
];
// ==========================================================
// 2. مدينة عمان (المناطق الحيوية)
// ==========================================================
static final List<LatLng> ammanPolygon = [
const LatLng(32.040, 35.830), // صويلح / الشمال الغربي
const LatLng(32.040, 36.000), // طبربور / الشمال الشرقي
const LatLng(31.900, 36.000), // سحاب / الجنوب الشرقي
const LatLng(31.900, 35.830), // مرج الحمام / الدوار السابع - الجنوب الغربي
const LatLng(32.040, 35.830), // العودة لنقطة البداية
];
// ==========================================================
// 3. مدينة القاهرة الكبرى
// ==========================================================
static final List<LatLng> cairoPolygon = [
const LatLng(30.150, 31.150), // إمبابة / الوراق - الشمال الغربي
const LatLng(30.150, 31.400), // مصر الجديدة / مدينة نصر - الشمال الشرقي
const LatLng(29.950, 31.400), // المعادي / التجمع - الجنوب الشرقي
const LatLng(29.950, 31.150), // الهرم / الجيزة - الجنوب الغربي
const LatLng(30.150, 31.150), // العودة لنقطة البداية
];
}
+36
View File
@@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class AppColor {
// --- Core Brand Colors ---
static const Color primaryColor = Color(0xFF1A2340); // Navy Blue
static const Color secondaryColorStatic = Color(0xFF8C9CF8); // Periwinkle Blue
static const Color accentColor = Color(0xFF8C9CF8);
// --- Dynamic Colors (Light / Dark Mode Support) ---
static Color get writeColor => Get.isDarkMode ? Colors.white : const Color(0xFF0F172A); // Primary Text
static Color get secondaryColor => Get.isDarkMode ? const Color(0xFF1E1E1E) : const Color(0xFFF8FAFC); // Background
static Color get cardColor => Get.isDarkMode ? const Color(0xFF2C2C2E) : const Color(0xFFFFFFFF); // Card Background
static Color get surfaceColor => cardColor; // Added back for backwards compatibility
// --- Neutral & Status Colors ---
static Color get grayColor => Get.isDarkMode ? Colors.grey[400]! : const Color(0xFF64748B); // Secondary Text
static Color get borderColor => Get.isDarkMode ? const Color(0xFF3A3A3C) : const Color(0xFFE2E8F0); // Border
static const Color redColor = Color(0xFFEF4444); // Error
static const Color greenColor = Color(0xFF22C55E); // Success
static const Color yellowColor = Color(0xFFF59E0B); // Warning
// --- Legacy / Maps Colors (Kept for compatibility) ---
static const Color blueColor = Color(0xFF1A2340);
static const Color gold = Color(0xFFFFD700);
static const Color bronze = Color(0xFFCD7F32);
static const Color goldenBronze = Color(0xFFB87333);
static Color get cyanBlue => const Color(0xFF1A2340);
static Color get cyanAccent => const Color(0xFF1A2340).withOpacity(0.12);
static Color get deepPurpleAccent => const Color(0xFF8C9CF8).withOpacity(0.1);
// --- Theme Helpers ---
static Brightness get brightness => Get.isDarkMode ? Brightness.dark : Brightness.light;
}
@@ -0,0 +1,112 @@
// في ملف: constant/country_polygons.dart
import 'package:intaleq_maps/intaleq_maps.dart';
class CountryPolygons {
// ==========================================================
// 1. الأردن: عمان، الزرقاء، إربد، السلط ومساحة كبيرة داخل الأردن
// ==========================================================
static final List<LatLng> jordanBoundary = [
const LatLng(32.70, 35.80), // شمال إربد
const LatLng(32.35, 36.30), // المفرق
const LatLng(32.10, 36.30), // الزرقاء
const LatLng(31.85, 36.20), // شرق عمان
const LatLng(31.50, 36.00), // مادبا
const LatLng(30.80, 35.80), // الكرك / الطفيلة
const LatLng(30.20, 35.60), // معان
const LatLng(29.50, 35.00), // العقبة
const LatLng(29.50, 34.90), // الحدود الغربية للعقبة
const LatLng(30.50, 35.20), // وادي عربة
const LatLng(31.50, 35.50), // البحر الميت
const LatLng(32.05, 35.60), // السلط
const LatLng(32.70, 35.60), // غرب إربد
];
// ==========================================================
// 2. سوريا: دمشق، ريف دمشق، حمص، حلب، اللاذقية (استثناء الصحراء)
// ==========================================================
static final List<LatLng> syriaBoundary = [
const LatLng(32.60, 36.00), // درعا
const LatLng(32.70, 36.60), // السويداء
const LatLng(33.50, 36.50), // ريف دمشق الشرقي
const LatLng(34.10, 36.80), // النبك
const LatLng(34.70, 36.80), // حمص
const LatLng(35.10, 36.80), // حماة
const LatLng(36.20, 37.30), // حلب الشرقية
const LatLng(36.60, 37.00), // شمال حلب
const LatLng(36.00, 36.00), // إدلب / الجبال
const LatLng(35.70, 35.80), // اللاذقية
const LatLng(34.80, 35.80), // طرطوس
const LatLng(34.50, 36.20), // تلكلخ
const LatLng(33.50, 36.00), // دمشق الغربية
];
// ==========================================================
// 3. مصر: القاهرة كاملة، الإسكندرية، ومراكز المحافظات
// ==========================================================
static final List<LatLng> egyptBoundary = [
const LatLng(29.50, 30.80), // جنوب الفيوم
const LatLng(29.80, 31.40), // شرق القاهرة الكبرى
const LatLng(30.10, 31.80), // العاشر من رمضان
const LatLng(30.60, 32.30), // الإسماعيلية
const LatLng(31.30, 31.80), // بورسعيد
const LatLng(31.50, 31.25), // دمياط
const LatLng(31.30, 29.80), // الإسكندرية
const LatLng(30.80, 29.80), // وادي النطرون
const LatLng(30.00, 30.80), // 6 أكتوبر / غرب القاهرة
];
/// دالة للتحقق مما إذا كان الموقع ضمن نطاق الخدمة المدعوم
static bool isServiceSupported(LatLng? point) {
if (point == null) return false;
if (_isPointInPolygon(point, jordanBoundary)) return true;
if (_isPointInPolygon(point, syriaBoundary)) return true;
if (_isPointInPolygon(point, egyptBoundary)) return true;
return false;
}
// دالة تُرجع رابط API بناءً على اسم الدولة
static String getRoutingApiUrl(String countryName) {
switch (countryName) {
case 'Jordan':
return 'https://routec.intaleq.xyz/route-jo';
case 'Syria':
return 'https://routec.intaleq.xyz/route';
case 'Egypt':
return 'https://routec.intaleq.xyz/route-eg';
default:
// الافتراضي في حالة لم يقع الموقع ضمن أي من المضلعات
return 'https://routec.intaleq.xyz/route';
}
}
/// دالة تحدد اسم الدولة (باللغة الإنجليزية للـ API) بناءً على الإحداثيات
static String getCountryName(LatLng? point) {
if (point == null) return "unsupported";
if (_isPointInPolygon(point, jordanBoundary)) return "Jordan";
if (_isPointInPolygon(point, syriaBoundary)) return "Syria";
if (_isPointInPolygon(point, egyptBoundary)) return "Egypt";
return "unsupported";
}
/// خوارزمية Ray Casting للتحقق من وقوع نقطة داخل مضلع
static bool _isPointInPolygon(LatLng p, List<LatLng> polygon) {
bool isInside = false;
int j = polygon.length - 1;
for (int i = 0; i < polygon.length; i++) {
if (((polygon[i].latitude > p.latitude) !=
(polygon[j].latitude > p.latitude)) &&
(p.longitude <
(polygon[j].longitude - polygon[i].longitude) *
(p.latitude - polygon[i].latitude) /
(polygon[j].latitude - polygon[i].latitude) +
polygon[i].longitude)) {
isInside = !isInside;
}
j = i;
}
return isInside;
}
}
+104
View File
@@ -0,0 +1,104 @@
import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:secure_string_operations/secure_string_operations.dart';
import '../controller/functions/crud.dart';
import '../main.dart';
import 'box_name.dart';
import 'char_map.dart';
import 'links.dart';
class AC {
gAK() async {
if (box.read(BoxName.apiKeyRun).toString() != 'run') {
var res = await CRUD().get(link: AppLink.getApiKey, payload: {});
var decod = jsonDecode(res);
// print(decod);
Map<String, dynamic> jsonData = {};
for (var i = 0; i < decod['message'].length; i++) {
String h = decod['message'][i]['hashed_key'].toString();
String retrievedString = X.r(X.r(X.r(h, cn), cC), cs);
await storage.write(
key: decod['message'][i]['name'].toString(),
value: retrievedString.toString(),
);
//
String name = decod['message'][i]['name'].toString();
String value = decod['message'][i]['hashed_key'].toString();
jsonData[name] = value;
}
String jsonString = json.encode(jsonData);
print(jsonString);
box.write(BoxName.apiKeyRun, 'run');
}
}
String q(String b, String c) {
final d = utf8.encode(c);
final e = utf8.encode(b);
final f = Hmac(sha256, d);
final g = f.convert(e);
final h = g.bytes;
final i = base64Url.encode(h);
return i;
}
String j(String k, String l) {
final m = utf8.encode(l);
final n = base64Url.decode(k);
final o = Hmac(sha256, m);
final p = o.convert(n);
final q = utf8.decode(p.bytes);
return q;
}
String a(String b, String c) {
int d = b.length;
int e = d ~/ 4;
List<String> f = [];
for (int g = 0; g < d; g += e) {
int h = g + e;
if (h > d) {
h = d;
}
String i = b.substring(g, h);
f.add(i);
}
print(f);
Map<String, String> j = {};
j['birinci'] = f[4];
j['ikinci'] = f[2];
j['üçüncü'] = c + f[1];
j['dördüncü'] = f[0];
j['beş'] = f[3];
String k = '';
j.forEach((l, m) {
k += m;
});
return k;
}
Map<String, String> n(String o, String c) {
String p = o.replaceAll(c, '');
Map<String, String> q = {};
q['birinci'] = p[p.length - 5] + p[p.length - 3];
q['ikinci'] = p[p.length - 1] + p[p.length - 15];
q['üçüncü'] = p[p.length - 9] + p[p.length - 12];
q['dördüncü'] = p[p.length - 11] + p[p.length - 6];
q['beş'] = p[p.length - 2] + p[p.length - 8];
return q;
}
}
+15
View File
@@ -0,0 +1,15 @@
import 'package:intaleq_driver/main.dart';
import 'package:intaleq_driver/constant/box_name.dart';
import 'package:get/get.dart';
class CurrencyHelper {
static String get currency {
String country = box.read(BoxName.countryCode) ?? 'Jordan';
switch (country) {
case 'Syria': return 'SYP'.tr;
case 'Egypt': return 'EGP'.tr;
case 'Jordan':
default: return 'JOD'.tr;
}
}
}
@@ -0,0 +1,64 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class FinanceDesignSystem {
// --- Colors ---
static Color get primaryDark => Get.isDarkMode ? const Color(0xFFE0E0E0) : const Color(0xFF0A0E21);
static Color get accentBlue => const Color(0xFF3D5AFE);
static Color get successGreen => const Color(0xFF00C853);
static Color get dangerRed => const Color(0xFFD50000);
static Color get backgroundColor => Get.isDarkMode ? const Color(0xFF0A0E21) : const Color(0xFFF6F8FA);
static Color get cardColor => Get.isDarkMode ? const Color(0xFF1E1E2E) : const Color(0xFFFFFFFF);
static Color get textSecondary => Get.isDarkMode ? Colors.white70 : const Color(0xFF757575);
static Color get textMuted => Get.isDarkMode ? Colors.white38 : const Color(0xFFBDBDBD);
static Color get borderColor => Get.isDarkMode ? Colors.white10 : Colors.grey.withOpacity(0.1);
// --- Shadows ---
static BoxShadow get softShadow => BoxShadow(
color: Colors.black.withOpacity(Get.isDarkMode ? 0.3 : 0.05),
blurRadius: 10,
offset: const Offset(0, 4),
);
// --- Gradients ---
static LinearGradient get balanceGradient => LinearGradient(
colors: Get.isDarkMode
? [const Color(0xFF1E1E2E), const Color(0xFF2A2A3E)]
: [const Color(0xFF0A0E21), const Color(0xFF1A237E)],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
);
static const LinearGradient dangerGradient = LinearGradient(
colors: [Color(0xFFD50000), Color(0xFFFF5252)],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
);
// --- Radius ---
static const double mainRadius = 16.0;
static const double cardRadius = 20.0;
static const double buttonRadius = 12.0;
// --- Spacing ---
static const double horizontalPadding = 16.0;
static const double verticalSectionPadding = 24.0;
// --- Text Styles ---
static TextStyle get balanceStyle => const TextStyle(
fontSize: 32,
fontWeight: FontWeight.bold,
color: Colors.white,
);
static TextStyle get headingStyle => TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: primaryDark,
);
static TextStyle get subHeadingStyle => TextStyle(
fontSize: 14,
color: textSecondary,
);
}
+291
View File
@@ -0,0 +1,291 @@
class AppInformation {
static const String companyName = 'Siro';
static const String appName = 'Siro DRIVER';
static const String appVersion = 'Siro DRIVER';
static const String phoneNumber = '';
static const String linkedInProfile =
'https://www.linkedin.com/in/hamza-ayed/';
static const String website = 'https://intaleqapp.com';
static const String email = 'support@intaleqapp.com';
static const String complaintPrompt =
'for this data for complaint from driver or passenger i collect all data i want you analyze this complaint and show what is reason and what is solution .this data collected from many table to find solution if payment in visa not complete and if ride status is finished it will be paymnet in payment table if ride status is not finished there is no need to pay and payment table is null for this ride and if paymentFromPaymentTable not null and visa type not cash the payment sucssessed . if ratingpassenger is low or passengr rating drivers low grade then dont mine of this passenger ,look at driver too like passengerratingdriver with rating or ratingtopassenger .in json add status of complaint and message to passenger and message to driver and message to call center write in arabic in json output with key in english .for output please just json i want';
static const String addd = 'BlBlNl';
static const String privacyPolicy = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Siro - Privacy Policy & Terms of Use</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
line-height: 1.7;
color: #333;
padding: 10px;
}
h1, h2, h3 {
color: #2c3e50;
}
h1 {
font-size: 1.8em;
border-bottom: 2px solid #3498db;
padding-bottom: 10px;
}
h2 {
font-size: 1.5em;
margin-top: 30px;
color: #2980b9;
}
h3 {
font-size: 1.2em;
margin-top: 20px;
color: #16a085;
}
strong {
color: #2c3e50;
}
ul {
padding-left: 20px;
list-style-position: outside;
}
.highlight {
background-color: #f8f9fa;
padding: 15px;
border-left: 4px solid #3498db;
margin: 20px 0;
border-radius: 4px;
}
a {
color: #3498db;
text-decoration: none;
}
</style>
</head>
<body>
<h1>Privacy Policy & Terms of Use</h1>
<div class="highlight">
<p><strong>Effective Date:</strong> August 9, 2025</p>
<p><strong>Last Updated:</strong> August 9, 2025</p>
</div>
<h2>1. Introduction and Acceptance</h2>
<p>By downloading, registering, or using the Siro application ("App"), you agree to be bound by this Privacy Policy and our Terms of Use. If you do not agree, you must stop using the App immediately. Your continued use constitutes acceptance of these terms and any future updates.</p>
<h2>2. Definitions</h2>
<ul>
<li><strong>"Siro", "we", "us":</strong> Refers to the Siro for Ride Hailing company, Damascus – Syria (Owner & operator), which provides the technology platform.</li>
<li><strong>"Driver":</strong> An independent service provider who uses the App to offer transportation services.</li>
<li><strong>"Passenger", "you":</strong> An individual who uses the App to request transportation services.</li>
<li><strong>"Services":</strong> The connection between Passengers and Drivers facilitated by our App.</li>
</ul>
<h2>3. Privacy Policy</h2>
<h3>3.1 Information We Collect</h3>
<p>We collect information necessary to provide and improve our Services.</p>
<h4>A. Information You Provide:</h4>
<ul>
<li><strong>For Drivers:</strong> To ensure safety and compliance, we collect identity information, including your full name, phone number, personal photo, and official documents (e.g., driver's license, vehicle registration).</li>
<li><strong>For Passengers:</strong> We only require a phone number for registration and communication. We are not authorized to request or view official identity documents for passengers.</li>
</ul>
<h4>B. Information Collected Automatically:</h4>
<ul>
<li><strong>Location Data:</strong> We collect precise location data when the App is in use to facilitate ride matching, navigation, and for safety purposes.</li>
<li><strong>Device Data:</strong> We collect information about your device, such as model, operating system, and unique identifiers, to ensure App functionality and for security verification.</li>
<li><strong>Usage Data:</strong> We log how you interact with our App, including trip history and features used, to improve our services.</li>
</ul>
<h3>3.2 Payment Information</h3>
<p><strong>We do not collect, process, or store any sensitive payment information like credit/debit card numbers.</strong> We facilitate payments by connecting you to licensed, local third-party providers:</p>
<ul>
<li><strong>Mobile Carrier Billing:</strong> Payments via MTN and Syriatel are processed directly by them based on your registered phone number. A one-time password (OTP) sent by the carrier is required to confirm the transaction.</li>
<li><strong>Bank Card Payments:</strong> We connect you with the Syrian company "eCash" to process card payments. They handle the transaction, and your bank will send an OTP to your phone to authorize it.</li>
</ul>
<h3>3.3 How We Use Your Information</h3>
<ul>
<li>To operate and maintain the Services (e.g., connect Drivers and Passengers).</li>
<li>To verify Driver identity and eligibility.</li>
<li>To improve App security and prevent fraud.</li>
<li>To provide customer support.</li>
<li>To comply with legal obligations.</li>
</ul>
<h3>3.4 Data Sharing</h3>
<p>We do not sell your personal data. We only share it in the following limited circumstances:</p>
<ul>
<li><strong>Between Passenger and Driver:</strong> To facilitate a ride, we share necessary information like name, photo, and real-time location.</li>
<li><strong>With Service Providers:</strong> For services like payment processing and mapping. These providers are contractually obligated to protect your data.</li>
<li><strong>For Legal Reasons:</strong> If required by law or a valid legal order.</li>
</ul>
<h3>3.5 Policy for Minors</h3>
<p>Our services are intended for individuals over the age of 18.
<strong>For Drivers:</strong> We strictly verify the identity and age of all drivers to ensure no minors are operating on our platform.
<strong>For Passengers:</strong> While we do not verify passenger identity, the service is not directed at children under 18. If a parent or guardian becomes aware that their child has provided us with information without their consent, they should contact us immediately.</p>
<h2>4. User Obligations & Conduct</h2>
<ul>
<li>You must provide accurate and current information during registration.</li>
<li>You are responsible for maintaining the security of your account.</li>
<li>You agree not to use the App for any illegal activities, to harass others, or to cause damage to a Driver's vehicle.</li>
</ul>
<h2>5. Disclaimer of Liability</h2>
<p>The App is provided "as is". Siro is an intermediary platform and is not liable for the actions of Drivers or Passengers, accidents, delays, or any disputes between users. Our liability is limited to the fullest extent permitted by law.</p>
<h2>6. Policy Updates</h2>
<p>We may update these terms. If we make significant changes, we will notify you within the App. You will be required to review and accept the new terms to continue using the Services, ensuring your consent is active and informed.</p>
<h2>7. Account Deletion & Contact</h2>
<p>You have the right to request the deletion of your account and personal data. To do so, or for any other questions, please contact us. We will respond to deletion requests within 30 days.</p>
<p><strong>Email:</strong> <a href="mailto:support@intaleqapp.com">support@intaleqapp.com</a></p>
</body>
</html>
''';
static const String privacyPolicyArabic = '''
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>سيرو - سياسة الخصوصية وشروط الاستخدام</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
line-height: 1.7;
color: #333;
padding: 10px;
text-align: right;
}
h1, h2, h3 {
color: #2c3e50;
}
h1 {
font-size: 1.8em;
border-bottom: 2px solid #3498db;
padding-bottom: 10px;
}
h2 {
font-size: 1.5em;
margin-top: 30px;
color: #2980b9;
}
h3 {
font-size: 1.2em;
margin-top: 20px;
color: #16a085;
}
strong {
color: #2c3e50;
}
ul {
padding-right: 20px;
list-style-position: outside;
}
.highlight {
background-color: #f8f9fa;
padding: 15px;
border-right: 4px solid #3498db;
margin: 20px 0;
border-radius: 4px;
}
a {
color: #3498db;
text-decoration: none;
}
</style>
</head>
<body>
<h1>سياسة الخصوصية وشروط الاستخدام</h1>
<div class="highlight">
<p><strong>تاريخ النفاذ:</strong> 9 أغسطس 2025</p>
<p><strong>آخر تحديث:</strong> 9 أغسطس 2025</p>
</div>
<h2>1. المقدمة والقبول</h2>
<p>عبر تحميل أو تسجيل أو استخدام تطبيق "سيرو" ("التطبيق")، فإنك توافق على الالتزام بسياسة الخصوصية وشروط الاستخدام هذه. إذا كنت لا توافق، يجب عليك التوقف فورًا عن استخدام التطبيق. استمرارك في الاستخدام يُعد قبولاً لهذه الشروط وأي تحديثات مستقبلية لها.</p>
<h2>2. التعريفات</h2>
<ul>
<li><strong>"سيرو"، "نحن":</strong> تشير إلى شركة سيرو لنقل الركاب، دمشق – سوريا (مالك ومشغل التطبيق)، التي توفر المنصة التقنية.</li>
<li><strong>"السائق":</strong> مقدم خدمة مستقل يستخدم التطبيق لتقديم خدمات النقل.</li>
<li><strong>"الراكب"، "أنت":</strong> الفرد الذي يستخدم التطبيق لطلب خدمات النقل.</li>
<li><strong>"الخدمات":</strong> عملية الربط بين الركاب والسائقين التي يسهلها تطبيقنا.</li>
</ul>
<h2>3. سياسة الخصوصية</h2>
<h3>3.1 المعلومات التي نجمعها</h3>
<p>نحن نجمع المعلومات الضرورية لتقديم خدماتنا وتحسينها.</p>
<h4>أ. المعلومات التي تقدمها بنفسك:</h4>
<ul>
<li><strong>بالنسبة للسائقين:</strong> لضمان السلامة والامتثال للقوانين، نجمع بيانات الهوية الشخصية، بما في ذلك الاسم الكامل، رقم الهاتف، صورة شخصية، والوثائق الرسمية (مثل رخصة القيادة وتسجيل المركبة).</li>
<li><strong>بالنسبة للركاب:</strong> نطلب فقط رقم هاتف للتسجيل والتواصل. نحن غير مخولين بطلب أو الاطلاع على وثائق الهوية الرسمية للركاب.</li>
</ul>
<h4>ب. المعلومات التي تُجمع تلقائيًا:</h4>
<ul>
<li><strong>بيانات الموقع:</strong> نجمع بيانات الموقع الجغرافي الدقيقة عند استخدام التطبيق لتسهيل تحديد أماكن الانطلاق والوصول، الملاحة، ولأغراض السلامة.</li>
<li><strong>بيانات الجهاز:</strong> نجمع معلومات عن جهازك (طراز، نظام تشغيل، معرفات فريدة) لضمان عمل التطبيق وللتحقق الأمني.</li>
<li><strong>بيانات الاستخدام:</strong> نسجل كيفية تفاعلك مع التطبيق، بما في ذلك سجل الرحلات والميزات المستخدمة، بهدف تحسين خدماتنا.</li>
</ul>
<h3>3.2 معلومات الدفع</h3>
<p><strong>نحن لا نجمع أو نعالج أو نخزن أي معلومات دفع حساسة</strong> مثل أرقام بطاقات الائتمان/الخصم. نحن نسهل عمليات الدفع عبر ربطك بمزودي خدمات محليين مرخصين:</p>
<ul>
<li><strong>الدفع عبر رصيد الهاتف المحمول:</strong> تتم معالجة الدفعات عبر شركتي MTN و Syriatel مباشرة من خلالهما بناءً على رقم هاتفك المسجل لديهم. يتطلب تأكيد العملية إدخال رمز تحقق (OTP) يُرسل من قبل شركة الاتصالات.</li>
<li><strong>الدفع عبر البطاقات البنكية:</strong> نربطك بشركة "eCash" السورية لمعالجة الدفعات بالبطاقات. هي التي تتولى المعاملة، وسيقوم البنك الذي تتعامل معه بإرسال رمز تحقق (OTP) إلى هاتفك لتفويض العملية.</li>
</ul>
<h3>3.3 كيف نستخدم معلوماتك</h3>
<ul>
<li>لتشغيل وصيانة الخدمات (مثل الربط بين السائقين والركاب).</li>
<li>للتحقق من هوية السائقين وأهليتهم.</li>
<li>لتحسين أمان التطبيق ومنع الاحتيال.</li>
<li>لتقديم الدعم الفني للعملاء.</li>
<li>للامتثال للالتزامات القانونية.</li>
</ul>
<h3>3.4 مشاركة البيانات</h3>
<p>نحن لا نبيع بياناتك الشخصية. نشاركها فقط في الحالات المحدودة التالية:</p>
<ul>
<li><strong>بين الراكب والسائق:</strong> لتسهيل الرحلة، نشارك المعلومات الضرورية مثل الاسم، الصورة، والموقع المباشر.</li>
<li><strong>مع مزودي الخدمات:</strong> مثل معالجي الدفع وخدمات الخرائط. هؤلاء المزودون ملزمون تعاقديًا بحماية بياناتك.</li>
<li><strong>لأسباب قانونية:</strong> إذا طُلب ذلك بموجب القانون أو أمر قضائي ساري المفعول.</li>
</ul>
<h3>3.5 سياسة القاصرين</h3>
<p>خدماتنا موجهة للأفراد الذين تزيد أعمارهم عن 18 عامًا.
<strong>بالنسبة للسائقين:</strong> نحن نتحقق بدقة من هوية وعمر جميع السائقين لضمان عدم وجود قاصرين يعملون على منصتنا.
<strong>بالنسبة للركاب:</strong> على الرغم من أننا لا نتحقق من هوية الركاب، فإن الخدمة غير موجهة للأطفال دون سن 18. إذا علم ولي الأمر أن طفله قد زودنا بمعلومات دون موافقته، فيجب عليه الاتصال بنا على الفور.</p>
<h2>4. التزامات المستخدم وسلوكه</h2>
<ul>
<li>يجب عليك تقديم معلومات دقيقة وحديثة عند التسجيل.</li>
<li>أنت مسؤول عن الحفاظ على أمان حسابك.</li>
<li>أنت توافق على عدم استخدام التطبيق لأي أنشطة غير قانونية، أو لمضايقة الآخرين، أو التسبب في ضرر لمركبة السائق.</li>
</ul>
<h2>5. إخلاء المسؤولية</h2>
<p>يتم تقديم التطبيق "كما هو". "سيرو" هي منصة وسيطة وليست مسؤولة عن تصرفات السائقين أو الركاب، أو الحوادث، أو التأخير، أو أي نزاعات بين المستخدمين. مسؤوليتنا محدودة إلى أقصى حد يسمح به القانون.</p>
<h2>6. تحديثات السياسة</h2>
<p>قد نقوم بتحديث هذه الشروط. في حال إجراء تغييرات جوهرية، سنقوم بإعلامك داخل التطبيق. سيُطلب منك مراجعة الشروط الجديدة وقبولها لمواصلة استخدام الخدمات، لضمان أن موافقتك فعالة ومبنية على معرفة.</p>
<h2>7. حذف الحساب والتواصل</h2>
<p>لديك الحق في طلب حذف حسابك وبياناتك الشخصية. للقيام بذلك، أو لأي استفسارات أخرى، يرجى التواصل معنا. سنرد على طلبات الحذف في غضون 30 يومًا.</p>
<p><strong>البريد الإلكتروني:</strong> <a href="mailto:support@intaleqapp.com">support@intaleqapp.com</a></p>
</body>
</html>
''';
}
+648
View File
@@ -0,0 +1,648 @@
// import 'package:intaleq_driver/env/env.dart';
import '../main.dart';
import 'box_name.dart';
class AppLink {
static String get serverPHP => box.read('serverPHP');
static String get paymentServer {
switch (currentCountry) {
case 'Syria':
return 'https://wallet-syria.siromove.com/v1/main';
case 'Egypt':
return 'https://wallet-egypt.siromove.com/v1/main';
case 'Jordan':
return 'https://walletintaleq.intaleq.xyz/v2/main';
default:
return 'https://wallet.siromove.com/v1/main';
}
}
static const String appDomain = 'siromove.com';
static String get inviteRedirectUrl {
if (currentCountry == 'Syria') {
return "https://siromove.com/inviteSyria.php";
}
return "https://siromove.com/invite.php";
}
static String get location {
switch (currentCountry) {
case 'Syria':
return 'https://api-syria.siromove.com/siro_v3/ride/location';
case 'Egypt':
return 'https://api-egypt.siromove.com/siro_v3/ride/location';
case 'Jordan':
return 'https://jordan-siro.intaleqapp.com/backend/ride/location';
default:
return 'https://api.siromove.com/siro_v3/ride/location';
}
}
static String get locationServer => locationServerSide;
static String get locationServerSide {
switch (currentCountry) {
case 'Syria':
return 'https://location-syria.siromove.com/siro/ride/location';
case 'Egypt':
return 'https://location-egypt.siromove.com/siro/ride/location';
case 'Jordan':
return 'https://jordan-siro.intaleqapp.com/loction_server/siro/ride/location';
default:
return 'https://location-jordan.siromove.com/siro/ride/location';
}
}
static String get locationSocketUrl {
switch (currentCountry) {
case 'Syria':
return 'https://location-syria.siromove.com';
case 'Egypt':
return 'https://location-egypt.siromove.com';
case 'Jordan':
return 'https://jordan-siro.intaleqapp.com:2020';
default:
return 'https://jordan-siro.intaleqapp.com:2020';
}
}
static String get mapSaasRoute {
switch (currentCountry) {
case 'Syria':
return 'https://map-syria.siromove.com/api/maps/route';
case 'Egypt':
return 'https://map-egypt.siromove.com/api/maps/route';
case 'Jordan':
return 'https://map-saas.intaleqapp.com/api/maps/route';
default:
return 'https://map-saas.intaleqapp.com/api/maps/route';
}
}
static String get mapSaasPlaces {
switch (currentCountry) {
case 'Syria':
return 'https://map-syria.siromove.com/api/geocoding/places';
case 'Egypt':
return 'https://map-egypt.siromove.com/api/geocoding/places';
case 'Jordan':
return 'https://map-saas.intaleqapp.com/api/geocoding/places';
default:
return 'https://map-saas.intaleqapp.com/api/geocoding/places';
}
}
static String get routeApiBaseUrl {
switch (currentCountry) {
case 'Syria':
return "https://routes-syria.siromove.com/route/v1/driving";
case 'Egypt':
return "https://routes-egypt.siromove.com/route/v1/driving";
case 'Jordan':
return "https://routesjo.intaleq.xyz/route/v1/driving";
default:
return "https://routes.siromove.com/route/v1/driving";
}
}
static String get currentCountry => box.read(BoxName.countryCode) ?? 'Jordan';
static String get endPoint {
switch (currentCountry) {
case 'Syria':
return 'https://api-syria.siromove.com/siro';
case 'Egypt':
return 'https://api-egypt.siromove.com/siro';
case 'Jordan':
return 'https://jordan-siro.intaleqapp.com/backend';
default:
return 'https://api.siromove.com/siro';
}
}
static String get syria => 'https://api-syria.siromove.com/siro';
static String get server => endPoint;
///=================ride==========================///
///https://jordan-siro.intaleqapp.com/backend
static String get ride => '$server/ride';
/// this ride server is for socket communication not for rest api calls
/// https://rides.intaleq.xyz/intaleq
static String get rideServer {
switch (currentCountry) {
case 'Syria':
return 'https://ride-syria.siromove.com/siro/ride';
case 'Egypt':
return 'https://ride-egypt.siromove.com/siro/ride';
case 'Jordan':
return 'https://jordan-siro.intaleqapp.com/backend';
default:
return 'https://jordan-siro.intaleqapp.com/backend';
}
}
static String get getSurgeHeatmap =>
"$server/ride/heatmap/get_surge_heatmap.php";
static String get getPredictiveDemand =>
"$server/api/demand/getPredictiveDemandZones.php";
///mapOSM = 'https://routesy.intaleq.xyz'
static String get mapOSM {
switch (currentCountry) {
case 'Syria':
return 'https://routes-syria.siromove.com';
case 'Egypt':
return 'https://routes-egypt.siromove.com';
case 'Jordan':
return 'https://routesjo.intaleq.xyz';
default:
return 'https://routes.siromove.com';
}
}
static String get seferCairoServer => endPoint;
static String get seferGizaServer =>
box.read('Giza') ?? box.read(BoxName.serverChosen);
static String get seferAlexandriaServer =>
box.read('Alexandria') ?? box.read(BoxName.serverChosen);
// static final String server = Env.serverPHP;
static String get loginJwtDriver => "$server/loginJwtDriver.php";
static String get loginJwtWalletDriver => "$server/loginJwtWalletDriver.php";
static String get loginFirstTimeDriver => "$server/loginFirstTimeDriver.php";
static String get googleMapsLink => 'https://maps.googleapis.com/maps/api/';
static String get llama => 'https://api.llama-api.com/chat/completions';
static String get gemini =>
'https://generativelanguage.googleapis.com/v1beta3/models/text-bison-001:generateText';
static String get test => "$server/test.php";
//===============contact==========================
static String get savePhones => "$ride/egyptPhones/add.php";
static String get savePhonesSyria => "$ride/egyptPhones/syrianAdd.php";
static String get getPhones => "$ride/egyptPhones/get.php";
////===============firebase==========================
static String get getTokens => "$ride/firebase/get.php";
static String get getDriverToken => "$ride/firebase/getDriverToken.php";
static String get addTokens => "$ride/firebase/add.php";
static String get addTokensDriver => "$ride/firebase/addDriver.php";
static String get addTokensDriverWallet =>
"$paymentServer/ride/firebase/addDriver.php";
//=======================Wallet===================
static String get wallet => '$paymentServer/ride/passengerWallet';
static String get walletDriver => '$paymentServer/ride/driverWallet';
static String get getAllPassengerTransaction =>
"$wallet/getAllPassengerTransaction.php";
static String get payWithMTNConfirm =>
"$paymentServer/ride/mtn/driver/confirm_payment.php";
static String get payWithMTNStart =>
"$paymentServer/ride/mtn/driver/mtn_start.php";
static String get payWithSyriatelConfirm =>
"$paymentServer/ride/syriatel/driver/confirm_payment.php";
static String get payWithSyriatelStart =>
"$paymentServer/ride/syriatel/driver/start_payment.php";
static String get createMtnInvoice =>
"$paymentServer/ride/mtn_new/create_mtn_invoice.php";
static String get uploadMtnProof =>
"$paymentServer/ride/mtn_new/verify_payment_ai.php";
static String get checkMtnStatus =>
"$paymentServer/ride/mtn_new/check_status.php";
static String get createCliqInvoice =>
"$paymentServer/ride/cliq/create_cliq_invoice.php";
static String get uploadCliqProof =>
"$paymentServer/ride/cliq/verify_payment_ai.php";
static String get checkCliqStatus =>
"$paymentServer/ride/cliq/check_status.php";
static String get payWithEcashDriver =>
"$paymentServer/ride/ecash/driver/payWithEcash.php";
static String get payWithEcashPassenger =>
"$paymentServer/ride/ecash/passenger/payWithEcash.php";
// wl.tripz-egypt.com/v1/main/ride/ecash/driver
static String get getWalletByPassenger => "$wallet/getWalletByPassenger.php";
static String get getPassengersWallet => "$wallet/get.php";
static String get getPassengerWalletArchive =>
"$wallet/getPassengerWalletArchive.php";
static String get addPassengersWallet => "$wallet/add.php";
static String get deletePassengersWallet => "$wallet/delete.php";
static String get updatePassengersWallet => "$wallet/update.php";
static String get getWalletByDriver => "$walletDriver/getWalletByDriver.php";
static String get transferWalletDriver =>
"$endPoint/ride/driverWallet/transfer.php";
static String get convertBudgetToPoints =>
"$walletDriver/convertBudgetToPoints.php";
static String get driverStatistic =>
"$endPoint/ride/driverWallet/driverStatistic.php";
static String get getDriverDetails =>
"$seferCairoServer/ride/driverWallet/getDriverDetails.php";
// ================= Gamification Endpoints =================
static String get getWeeklyAggregate =>
"$endPoint/ride/gamification/getWeeklyAggregate.php";
static String get getGamificationDashboard =>
"$endPoint/ride/gamification/getGamificationDashboard.php";
static String get getLeaderboard =>
"$endPoint/ride/gamification/getLeaderboard.php";
static String get getSubAdminForDriver =>
"$server/Admin/gamification/getSubAdminForDriver.php";
// 🆕 مسار جلب حالة تتابع الرحلات (Gamification Streak)
static String get getDriverStreak =>
"$server/ride/gamification/get_streak.php";
static String get claimChallengeReward =>
"$endPoint/ride/gamification/claimChallengeReward.php";
static String get getReferralStats =>
"$endPoint/ride/gamification/getReferralStats.php";
static String get getDriverBehavior =>
"$endPoint/ride/gamification/getDriverBehavior.php";
static String get getDriverWeekPaymentMove =>
"$walletDriver/getDriverWeekPaymentMove.php";
static String get getDriversWallet => "$walletDriver/get.php";
static String get addDriversWalletPoints => "$walletDriver/add.php";
static String get addpromotionDriver => "$walletDriver/promotionDriver.php";
static String get deleteDriversWallet => "$walletDriver/delete.php";
static String get updateDriversWallet => "$walletDriver/update.php";
//=======================promo===================ride.mobile-app.store/ride/promo/get.php
static String get promo => '$server/ride/promo';
static String get getPassengersPromo => "$promo/get.php";
static String get getPromoBytody => "$promo/getPromoBytody.php";
static String get addPassengersPromo => "$promo/add.php";
static String get deletePassengersPromo => "$promo/delete.php";
static String get updatePassengersPromo => "$promo/update.php";
////=======================cancelRide===================
static String get addCancelRideFromPassenger =>
"$rideServer/cancelRide/add.php";
static String get addCancelTripFromDriverAfterApplied =>
"$rideServer/cancelRide/addCancelTripFromDriverAfterApplied.php";
static String get cancelRide => "$rideServer/cancelRide/get.php";
//-----------------ridessss------------------
static String get addRides => "$rideServer/rides/add.php";
static String get getRides => "$rideServer/rides/get.php";
static String get getPlacesSyria => "$rideServer/places_syria/get.php";
static String get getMishwari => "$rideServer/mishwari/get.php";
static String get getMishwariDriver => "$rideServer/mishwari/getDriver.php";
static String get sendChatMessage => "$server/ride/chat/send_message.php";
static String get getTripCountByCaptain =>
"$rideServer/rides/getTripCountByCaptain.php";
static String get getRideOrderID => "$rideServer/rides/getRideOrderID.php";
static String get getRideStatus => "$rideServer/rides/getRideStatus.php";
static String get getOverLayStatus => "$ride/overLay/get.php";
static String get getArgumentAfterAppliedFromBackground =>
"$ride/overLay/getArgumentAfterAppliedFromBackground.php";
static String get addOverLayStatus => "$ride/overLay/add.php";
static String get getapiKey => "$ride/apiKey/get.php";
static String get getapiKeySefer => "$ride/apiKey/get.php";
static String get getRideStatusBegin =>
"$rideServer/rides/getRideStatusBegin.php";
static String get getRideStatusFromStartApp =>
"$rideServer/rides/getRideStatusFromStartApp.php";
static String get updateRides => "$rideServer/rides/update.php";
static String get updateRideAndCheckIfApplied =>
"$rideServer/rides/updateRideAndCheckIfApplied.php";
static String get updateStausFromSpeed =>
"$rideServer/rides/updateStausFromSpeed.php";
static String get deleteRides => "$rideServer/rides/delete.php";
//-----------------DriverPayment------------------
static String get addDriverScam => "$ride/driver_scam/add.php";
static String get getDriverScam => "$ride/driver_scam/get.php";
/////////---getKazanPercent===////////////
static String get getKazanPercent => "$ride/kazan/get.php";
static String get addKazanPercent => "$ride/kazan/add.php";
////-----------------DriverPayment------------------
static String get addDrivePayment => "$paymentServer/ride/payment/add.php";
static String get payWithPayMobCardDriver =>
"$paymentServer/ride/payMob/paymob_driver/payWithCard.php";
static String get payWithWallet =>
"$paymentServer/ride/payMob/paymob_driver/payWithWallet.php";
static String get paymetVerifyDriver =>
"$paymentServer/ride/payMob/paymob_driver/paymet_verfy.php";
static String get updatePaymetToPaid =>
"$paymentServer/ride/payment/updatePaymetToPaid.php";
static String get paymobPayoutDriverWallet =>
"$paymentServer/ride/payMob/paymob_driver/paymob_payout.php'";
static String get addSeferWallet => "$paymentServer/ride/seferWallet/add.php";
static String get getSeferWallet => "$paymentServer/ride/seferWallet/get.php";
static String get addDriverPaymentPoints =>
"$paymentServer/ride/driverPayment/add.php";
static String get addPaymentTokenDriver =>
"$paymentServer/ride/driverWallet/addPaymentToken.php"; //driverWallet/addPaymentToken.php
static String get addPaymentTokenPassenger =>
"$paymentServer/ride/passengerWallet/addPaymentTokenPassenger.php";
static String get getDriverPaymentPoints =>
"$paymentServer/ride/driverWallet/get.php";
static String get getDriverPaymentToday =>
"$paymentServer/ride/payment/get.php";
static String get getCountRide =>
"$paymentServer/ride/payment/getCountRide.php";
static String get getAllPaymentFromRide =>
"$paymentServer/ride/payment/getAllPayment.php";
static String get getAllPaymentVisa =>
"$paymentServer/ride/payment/getAllPaymentVisa.php";
//-----------------Passenger NotificationCaptain------------------
static String get addNotificationPassenger =>
"$ride/notificationPassenger/add.php";
static String get getNotificationPassenger =>
"$ride/notificationPassenger/get.php";
static String get updateNotificationPassenger =>
"$ride/notificationPassenger/update.php";
//-----------------Driver NotificationCaptain------------------
static String get addNotificationCaptain =>
"$ride/notificationCaptain/add.php";
static String get addWaitingRide =>
"$ride/notificationCaptain/addWaitingRide.php";
static String get deleteAvailableRide =>
"$ride/notificationCaptain/deleteAvailableRide.php";
static String get updateWaitingRide =>
"$ride/notificationCaptain/updateWaitingTrip.php";
static String get getRideWaiting =>
"$endPoint/ride/notificationCaptain/getRideWaiting.php";
static String get getNotificationCaptain =>
"$ride/notificationCaptain/get.php";
static String get updateNotificationCaptain =>
"$ride/notificationCaptain/update.php";
static String get deleteNotificationCaptain =>
"$ride/notificationCaptain/delete.php";
//-----------------Api Key------------------
static String get addApiKey => "$ride/apiKey/add.php";
static String get getApiKey => "$ride/apiKey/get.php";
static String get getCnMap => "$server/auth/cnMap.php";
static String get getPromptDriverDocumentsEgypt =>
"$server/auth/driver/getPromptDriverDocumentsEgypt.php";
static String get saveDriverDestination =>
"$ride/location/save_driver_destination.php";
static String get reverseGeocoding {
switch (currentCountry) {
case 'Syria':
return 'https://map-syria.siromove.com/api/geocoding/reverse';
case 'Egypt':
return 'https://map-egypt.siromove.com/api/geocoding/reverse';
case 'Jordan':
return 'https://map-saas.intaleqapp.com/api/geocoding/reverse';
default:
return 'https://map-saas.intaleqapp.com/api/geocoding/reverse';
}
}
static String get updateApiKey => "$ride/apiKey/update.php";
static String get deleteApiKey => "$ride/apiKey/delete.php";
static String get checkPhoneNumberISVerfiedDriver =>
"$auth/driver/checkPhoneNumberISVerfied.php";
static String get getTesterApp => "$auth/Tester/getTesterApp.php";
static String get updateTesterApp => "$auth/Tester/updateTesterApp.php";
//-----------------healthInsuranceProvider------------------
static String get addHealthInsuranceProvider =>
"$server/driver_assurance/add.php";
static String get getHealthInsuranceProvider =>
"$server/driver_assurance/get.php";
//-----------------Feed Back------------------
static String get addFeedBack => "$ride/feedBack/add.php";
static String get getFeedBack => "$ride/feedBack/get.php";
static String get updateFeedBack => "$ride/feedBack/updateFeedBack.php";
static String get add_solve_all => "$server/ride/feedBack/add_solve_all.php";
static String get uploadAudio => "$server/upload_audio.php";
//-----------------Tips------------------
static String get addTips => "$ride/tips/add.php";
static String get getTips => "$ride/tips/get.php";
static String get updateTips => "$ride/tips/update.php";
//-----------------Help Center------------------
static String get addhelpCenter => "$ride/helpCenter/add.php";
static String get gethelpCenter => "$ride/helpCenter/get.php";
static String get getByIdhelpCenter => "$ride/helpCenter/getById.php";
static String get updatehelpCenter => "$ride/helpCenter/update.php";
static String get deletehelpCenter => "$ride/helpCenter/delete.php";
//-----------------license------------------
static String get addLicense => "$ride/license/add.php";
static String get getLicense => "$ride/license/get.php";
static String get updateLicense => "$ride/license/updateFeedBack.php";
//-----------------RegisrationCar------------------
static String get addRegisrationCar => "$ride/RegisrationCar/add.php";
static String get getRegisrationCar =>
"$endPoint/ride/RegisrationCar/get.php";
static String get updateRegisrationCar => "$ride/RegisrationCar/update.php";
static String get makeDefaultCar => "$ride/RegisrationCar/makeDefaultCar.php";
//-----------------DriverOrder------------------
static String get addDriverOrder => "$ride/driver_order/add.php";
static String get getDriverOrder => "$ride/driver_order/get.php";
static String get getOrderCancelStatus =>
"$ride/driver_order/getOrderCancelStatus.php";
static String get updateDriverOrder => "$ride/driver_order/update.php";
static String get deleteDriverOrder => "$ride/driver_order/delete.php";
// =====================================
static String get addRateToPassenger => "$ride/rate/add.php";
static String get addRateToDriver => "$ride/rate/addRateToDriver.php";
static String get addRateApp => "$ride/rate/add_rate_app.php";
static String get sendEmailRateingApp => "$ride/rate/sendEmailRateingApp.php";
static String get getDriverRate => "$ride/rate/getDriverRate.php";
static String get getPassengerRate => "$ride/rate/getPassengerRate.php";
////////////////emails ============//
static String get sendEmailToPassengerForTripDetails =>
"$ride/rides/emailToPassengerTripDetail.php";
static String get sendEmailToDrivertransaction =>
"$server/Admin/sendEmailToDrivertransaction.php";
// ===========================================
static String get pathImage => "$server/upload/types/";
static String get uploadImage => "$server/uploadImage.php";
static String get uploadImage1 => "$server/uploadImage1.php";
static String get uploadImagePortrate => "$server/uploadImagePortrate.php";
static String get uploadSyrianDocs =>
"$syria/auth/driver/uploadDriverDocs.php";
static String get uploadImageType => "$server/uploadImageType.php";
//=============egypt documents ==============
static String get uploadEgyptidFront =>
"$server/EgyptDocuments/uploadEgyptidFront.php";
static String get uploadEgypt => "$server/uploadEgypt.php";
static String get uploadEgypt1 => "$server/uploadEgypt1.php";
//==================certifcate==========
// static String location = '$endPoint/ride/location';
static String get getCarsLocationByPassenger => "$location/get.php";
static String get addpassengerLocation =>
"$locationServerSide/addpassengerLocation.php";
static String get getLocationAreaLinks =>
"$location/get_location_area_links.php";
static String get getLatestLocationPassenger =>
"$location/getLatestLocationPassenger.php";
static String get getFemalDriverLocationByPassenger =>
"$location/getFemalDriver.php";
static String get getDriverCarsLocationToPassengerAfterApplied =>
"$location/getDriverCarsLocationToPassengerAfterApplied.php";
static String get addCarsLocationByPassenger => "$locationServerSide/add.php";
static String get saveBehavior => "$locationServerSide/save_behavior.php";
static String get addCarsLocationGizaEndpoint =>
"$locationServerSide/add.php";
static String get addCarsLocationAlexandriaEndpoint =>
"$locationServerSide/add.php";
static String get addCarsLocationCairoEndpoint =>
"$locationServerSide/add.php";
static String get deleteCarsLocationByPassenger =>
"$locationServerSide/delete.php";
static String get updateCarsLocationByPassenger =>
"$locationServerSide/update.php";
static String get getTotalDriverDuration =>
"$location/getTotalDriverDuration.php";
static String get getRidesDriverByDay => "$location/getRidesDriverByDay.php";
static String get getTotalDriverDurationToday =>
"$location/getTotalDriverDurationToday.php";
//==================get_driver_behavior.php=============
static String get get_driver_behavior =>
'$ride/driver_behavior/get_driver_behavior.php';
//==================cars new drivers=============
static String get addNewCarsDrivers => '$ride/carDrivers/add.php';
static String get getNewCarsDrivers => '$ride/carDrivers/get.php';
static String get deleteNewCarsDrivers => '$ride/carDrivers/delete.php';
//==================Blog=============
static String get profile => '$ride/profile';
static String get getprofile => "$profile/get.php";
static String get getCaptainProfile => "$profile/getCaptainProfile.php";
static String get addprofile => "$profile/add.php";
static String get deleteprofile => "$profile/delete.php";
static String get updateprofile => "$profile/update.php";
static String get updateDriverEmail => "$profile/updateDriverEmail.php";
//===================Auth============
static String get getUnifiedCode => "$ride/invitor/get_unified_code.php";
static String get addUnifiedInvite => "$ride/invitor/add_unified_invite.php";
static String get claimDriverReward =>
"$ride/invitor/claim_driver_reward.php";
static String get getDriverReferrals =>
"$ride/invitor/get_driver_referrals.php";
static String get addInviteDriver => "$ride/invitor/add.php";
static String get addInvitationPassenger =>
"$ride/invitor/addInvitationPassenger.php";
static String get getInviteDriver => "$ride/invitor/get.php";
static String get getDriverInvitationToPassengers =>
"$ride/invitor/getDriverInvitationToPassengers.php";
static String get updateInviteDriver => "$ride/invitor/update.php";
static String get updatePassengerGift =>
"$server/ride/invitor/updatePassengerGift.php";
static String get claimInviteReward => "$server/ride/invitor/claim.php";
static String get updateInvitationCodeFromRegister =>
"$ride/invitor/updateInvitationCodeFromRegister.php";
static String get register_driver_and_car => "$auth/driver/register.php";
static String get updateDriverInvitationDirectly =>
"$ride/invitor/updateDriverInvitationDirectly.php";
static String get updatePassengersInvitation =>
"$ride/invitor/updatePassengersInvitation.php";
//===================Auth============
static String get auth => '$server/auth';
static String get login => "$auth/login.php";
static String get signUp => "$auth/signup.php";
static String get updateDriverClaim => "$auth/driver/updateDriverClaim.php";
static String get updateShamCashDriver =>
"$auth/driver/updateShamCashDriver.php";
static String get sendVerifyEmail => "$auth/sendVerifyEmail.php";
static String get passengerRemovedAccountEmail =>
"$auth/passenger/remove_account.php";
static String get verifyEmail => "$auth/verifyEmail.php";
//===================Auth Captin============
static String get authCaptin => '$server/auth/driver';
static String get loginCaptin => "$authCaptin/login.php";
static String get loginFromGoogleCaptin => "$authCaptin/loginFromGoogle.php";
static String get loginUsingCredentialsWithoutGoogle =>
"$authCaptin/loginUsingCredentialsWithoutGoogle.php";
static String get packageInfo => "$server/auth/packageInfo.php";
static String get signUpCaptin => "$authCaptin/register.php";
static String get addCriminalDocuments =>
"$authCaptin/addCriminalDocuments.php";
static String get sendVerifyEmailCaptin => "$authCaptin/sendVerifyEmail.php";
static String get sendVerifyOtpMessage => "$server/auth/otp/request.php";
static String get verifyOtpMessage => "$server/auth/otp/verify.php";
static String get verifyOtpDriver => "$server/auth/otp/verify.php";
static String get verifyEmailCaptin => "$authCaptin/verifyEmail.php";
static String get removeUser => "$authCaptin/removeAccount.php";
static String get deletecaptainAccounr =>
"$authCaptin/deletecaptainAccounr.php";
static String get updateAccountBank => "$authCaptin/updateAccountBank.php";
static String get getAccount => "$authCaptin/getAccount.php";
static String get uploadImageToAi => "$auth/document_syria/ai_document.php";
static String get isPhoneVerified => "$auth/driver/isPhoneVerified.php";
//===================Admin Captin============
static String get getPassengerDetailsByPassengerID =>
"$server/Admin/getPassengerDetailsByPassengerID.php";
static String get getPassengerDetails =>
"$server/Admin/getPassengerDetails.php";
static String get getPassengerbyEmail =>
"$server/Admin/getPassengerbyEmail.php";
static String get addAdminUser => "$server/Admin/adminUser/add.php";
static String get addError => "$server/Admin/errorApp.php";
static String get getAdminUser => "$server/Admin/adminUser/get.php";
static String get getCaptainDetailsByEmailOrIDOrPhone =>
"$server/Admin/AdminCaptain/getCaptainDetailsByEmailOrIDOrPhone.php";
static String get getCaptainDetails => "$server/Admin/AdminCaptain/get.php";
static String get getRidesPerMonth =>
"$server/Admin/AdminRide/getRidesPerMonth.php";
static String get getRidesDetails => "$server/Admin/AdminRide/get.php";
//////////Sms egypt///////////
static String get sendSms => "https://sms.kazumi.me/api/sms/send-sms";
static String get senddlr => "https://sms.kazumi.me/api/sms/send-dlr";
static String get sendvalidity =>
"https://sms.kazumi.me/api/sms/send-validity";
static String get sendmany => "https://sms.kazumi.me/api/sms/send-many";
static String get checkCredit => "https://sms.kazumi.me/api/sms/check-credit";
static String get checkStatus => "https://sms.kazumi.me/api/sms/check-status";
static String get getSender => "$server/auth/sms/getSender.php";
static String get updatePhoneInvalidSMS =>
"$server/auth/sms/updatePhoneInvalidSMS.php";
//////////////service///////////
static String get serviceApp => "$server/serviceapp";
static String get getComplaintAllData =>
"$serviceApp/getComplaintAllData.php";
static String get getComplaintAllDataForDriver =>
"$serviceApp/getComplaintAllDataForDriver.php";
static String detectCountryFromPhone(String phone) {
final clean = phone.replaceAll(RegExp(r'[^0-9]'), '');
if (clean.startsWith('962')) return 'Jordan';
if (clean.startsWith('963')) return 'Syria';
if (clean.startsWith('20')) return 'Egypt';
if (clean.startsWith('07') || clean.startsWith('7')) return 'Jordan';
if (clean.startsWith('09') || clean.startsWith('9')) return 'Syria';
if (clean.startsWith('01') || clean.startsWith('1')) return 'Egypt';
return '';
}
}
+31
View File
@@ -0,0 +1,31 @@
List<String> syrianDriverMessages = [
// --- أوقات الذروة والطلبات الكتيرة ---
"وقت الذروة: البلد مولّعة مشاوير! 🌃 افتح التطبيق بسرعة وبلّش أرباحك تدبّل.",
"طلبات كتير حواليك: ⚠️ خليك أول كابتن بيلتقط الطلب وخلّي يومك رابح.",
"الناس طالعة من الشغل: 🌇 الكل راجع عالبيت، خليك جاهز لرحلات كتيرة!",
"زحمة المساء: ⏳ الزباين عم تزيد بهالوقت، لا تضيّع الفرصة واشتغل معنا!",
// --- التركيز عالربح والمصاري ---
"ضاعف ربحك: 💰 كل مشوار بيقربك من هدفك اليومي. جاهز تنطلق؟",
"مصاري أكتر: جزدانك ناطر تعبك، كل دقيقة شغل هي ربح مضمون. 💪",
"خليك بالواجهة: الطلب الجاي ممكن يكون إلك، كبسة زر بتجيبلك رزقة اليوم.",
"رزقتك جاهزة: 💸 لا تخلّي الزباين يستنّوا، افتح التطبيق وخليك متأهّب.",
// --- التقدير والشكر ---
"شكراً إلك: 🙏 إنت مو بس سائق، إنت أساس نجاح تطبيق سيرو.",
"نفتخر فيك: 🌟 الكباتن متلك هنن يلي رافعين اسمنا بالعالي.",
"أداء ممتاز: 👍 استمر بنفس الروح الحلوة، زباينك مبسوطين منك.",
"نجاح مشترك: 🗺️ كل توصيلة بتعملها بتكبر فيها شركتنا وانت كمان.",
// --- التحفيز والتشجيع ---
"صباح النشاط: ☀️ بلّش نهارك بطاقة إيجابية وسيرو لتكسب أكتر.",
"كل مشوار فرصة: 🏁 لا توقف، الطريق لإلك والنجاح ناطرك.",
"يوم مربح: 💼 السوق ناشط اليوم، لا تفوّت الفرصة!",
"جاهز للطلب الجاي: 🔔 الزبون الجاي ممكن يكون أوفر ممتاز، خليك مستعد.",
// --- نصايح ومعلومات ---
"نصيحة اليوم: روح صوب الأسواق والمطاعم، الطلب هناك عالي هالفترة. 🏙️",
"حافظ على تقييمك: 😊 الزبون بينجذب للكابتن يلي عنده تقييم عالي وابتسامة.",
"جو ممطر: 🌧️ المطر يعني طلبات أكتر، خليك شغّال بهالوقت!",
"حدث اليوم: 🎆 في فعالية بالبلد، المشاوير كتيرة بهالمنطقة، استغلها!"
];
@@ -0,0 +1,53 @@
import 'package:intaleq_driver/constant/box_name.dart';
import 'package:intaleq_driver/main.dart';
class RechargeTier {
final double amount;
final double bonus;
const RechargeTier(this.amount, this.bonus);
double get total => amount + bonus;
}
class RechargeConfig {
final String currencyCode;
final List<RechargeTier> tiers;
const RechargeConfig({required this.currencyCode, required this.tiers});
static const Map<String, RechargeConfig> _configs = {
'Jordan': RechargeConfig(
currencyCode: 'JOD',
tiers: [
RechargeTier(5, 0),
RechargeTier(10, 0),
RechargeTier(20, 0),
RechargeTier(50, 0),
],
),
'Egypt': RechargeConfig(
currencyCode: 'EGP',
tiers: [
RechargeTier(100, 0),
RechargeTier(200, 0),
RechargeTier(400, 0),
RechargeTier(1000, 0),
],
),
'Syria': RechargeConfig(
currencyCode: 'SYP',
tiers: [
RechargeTier(100, 0),
RechargeTier(200, 0),
RechargeTier(400, 0),
RechargeTier(1000, 0),
],
),
};
static RechargeConfig get current {
final country = box.read(BoxName.countryCode) ?? 'Jordan';
return _configs[country] ?? _configs['Jordan']!;
}
static List<RechargeTier> get currentTiers => current.tiers;
}
+74
View File
@@ -0,0 +1,74 @@
import 'package:intaleq_driver/constant/box_name.dart';
import 'package:intaleq_driver/main.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'colors.dart';
class AppStyle {
static TextStyle get headTitle => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 36,
color: AppColor.accentColor,
fontFamily: box.read(BoxName.lang) == 'ar'
// ?GoogleFonts.markaziText().fontFamily
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle get headTitle2 => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 24,
color: AppColor.writeColor,
fontFamily: box.read(BoxName.lang) == 'ar'
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle get title => TextStyle(
fontWeight: FontWeight.normal,
fontSize: 16,
color: AppColor.writeColor,
fontFamily: box.read(BoxName.lang) == 'ar'
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle get subtitle => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 12,
color: AppColor.writeColor,
fontFamily: box.read(BoxName.lang) == 'ar'
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle get number => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: AppColor.writeColor,
fontFamily: 'digit');
static BoxDecoration get boxDecoration => BoxDecoration(
boxShadow: [
BoxShadow(
color: AppColor.accentColor.withValues(alpha: 0.3),
blurRadius: 5,
offset: const Offset(2, 4)),
BoxShadow(
color: AppColor.accentColor.withValues(alpha: 0.1),
blurRadius: 5,
offset: const Offset(-2, -2))
],
color: AppColor.secondaryColor,
borderRadius: const BorderRadius.all(
Radius.elliptical(15, 30),
));
static BoxDecoration get boxDecoration1 => BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.black.withValues(alpha: 0.05),
blurRadius: 10,
offset: const Offset(0, 4)),
BoxShadow(
color: AppColor.primaryColor.withValues(alpha: 0.02),
blurRadius: 5,
offset: const Offset(-2, -2))
],
color: AppColor.secondaryColor,
borderRadius: const BorderRadius.all(
Radius.elliptical(15, 30),
),
);
}
+19
View File
@@ -0,0 +1,19 @@
class TableName {
static const String placesFavorite = "placesFavorite";
static const String recentLocations = "recentLocations";
static const String carLocations = "carLocations";
static const String driverOrdersRefuse = "driverOrdersRefuse";
static const String rideLocation = "rideLocation";
static const String faceDetectTimes = "faceDetectTimes";
static const String behavior = "behavior";
static const String captainNotification = "captainNotification";
static const String applyRideFromOverLay = "applyRideFromOverLay";
}
class Driver {
static const String driverPass = 'MG6DEJZSczBT6Rx0jOlehQ==';
static const String payMobApikey = 'payMobApikey';
static const String initializationVector = 'initializationVector';
static const String keyOfApp = 'keyOfApp';
static const String FCM_PRIVATE_KEY = 'FCM_PRIVATE_KEY';
}