diff --git a/.env b/.env
index fb993eb..a6c3df8 100644
--- a/.env
+++ b/.env
@@ -61,7 +61,7 @@ emailService=seferservice@gmail.com
allowed=TripzDriver:
allowedWallet=TripzWallet:
passnpassenger=hbgbitbXrXrBr
-ALLOWED_ADMIN_PHONES=962798583052,962790849027,962787021927
+ALLOWED_ADMIN_PHONES=963992952235,962790849027,962787021927,963942542053,962772735902,971529155811
newId=new
a=q
b=x
diff --git a/android/app/build.gradle b/android/app/build.gradle
index fd75a9c..00da9f1 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -16,17 +16,17 @@ if (keystorePropertiesFile.exists()) {
android {
namespace = "com.intaleq.intaleq_admin"
compileSdk = flutter.compileSdkVersion
- ndkVersion = flutter.ndkVersion
+ ndkVersion = "27.0.12077973"
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
- version "3.31.5" // Match cmake_minimum_required in CMakeLists.txt
+ version "3.22.1" // Match cmake_minimum_required in CMakeLists.txt
}
}
defaultConfig {
ndk {
- abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" // Keep these!
+ abiFilters "armeabi-v7a", "arm64-v8a" // Keep these!
}
}
compileOptions {
@@ -43,10 +43,10 @@ android {
applicationId = "com.intaleq.intaleq_admin"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
- minSdk = 23
- targetSdk = flutter.targetSdkVersion
- versionCode = 1
- versionName = '1.0.0'
+ minSdk = 30
+ targetSdk = 36
+ versionCode = 5
+ versionName = '1.0.5'
multiDexEnabled =true
}
@@ -75,6 +75,8 @@ flutter {
}
dependencies {
+ implementation platform('com.google.firebase:firebase-bom:33.3.0') // مثال حديث
+
implementation 'com.scottyab:rootbeer-lib:0.1.0'
implementation 'com.google.android.gms:play-services-safetynet:18.0.1'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index b706704..a99ee8c 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,8 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ android:name="io.flutter.embedding.android.NormalTheme"
+ android:resource="@style/NormalTheme" />
-
-
+
+
-
+
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/xml/network_security_config.xml b/android/app/src/main/res/xml/network_security_config.xml
new file mode 100644
index 0000000..334e84f
--- /dev/null
+++ b/android/app/src/main/res/xml/network_security_config.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+ intaleq.xyz
+
+
+
+ XJXX7XthMj5VlSHfvo1q73sY7orJ9Wle0X4avj0/Vwo=
+
+ C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHESsl=
+
+
+
+
+
\ No newline at end of file
diff --git a/android/build/reports/problems/problems-report.html b/android/build/reports/problems/problems-report.html
index a1f01a3..4111900 100644
--- a/android/build/reports/problems/problems-report.html
+++ b/android/build/reports/problems/problems-report.html
@@ -650,7 +650,7 @@ code + .copy-button {
diff --git a/android/gradle.properties b/android/gradle.properties
index 2597170..67660bc 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,3 +1,9 @@
-org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
+org.gradle.jvmargs=-Xmx4096M
android.useAndroidX=true
android.enableJetifier=true
+android.defaults.buildfeatures.buildconfig=true
+android.nonTransitiveRClass=true
+android.nonFinalResIds=true
+dart.obfuscation=true
+android.enableR8.fullMode=true
+org.gradle.java.home=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 7978168..8fa203e 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -130,6 +130,10 @@ PODS:
- TOCropViewController (~> 2.7.4)
- image_picker_ios (0.0.1):
- Flutter
+ - IOSSecuritySuite (1.9.11)
+ - jailbreak_root_detection (1.0.1):
+ - Flutter
+ - IOSSecuritySuite (~> 1.9.10)
- libwebp (1.5.0):
- libwebp/demux (= 1.5.0)
- libwebp/mux (= 1.5.0)
@@ -183,6 +187,7 @@ DEPENDENCIES:
- google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
+ - jailbreak_root_detection (from `.symlinks/plugins/jailbreak_root_detection/ios`)
- local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
@@ -206,6 +211,7 @@ SPEC REPOS:
- GoogleUtilities
- GTMAppAuth
- GTMSessionFetcher
+ - IOSSecuritySuite
- libwebp
- Mantle
- nanopb
@@ -236,6 +242,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/image_cropper/ios"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
+ jailbreak_root_detection:
+ :path: ".symlinks/plugins/jailbreak_root_detection/ios"
local_auth_darwin:
:path: ".symlinks/plugins/local_auth_darwin/darwin"
path_provider_foundation:
@@ -272,6 +280,8 @@ SPEC CHECKSUMS:
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
image_cropper: 5f162dcf988100dc1513f9c6b7eb42cd6fbf9156
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
+ IOSSecuritySuite: b51056d5411aee567153ca86ce7f6edfdc5d2654
+ jailbreak_root_detection: 9201e1dfd51dc23069cbfb8d4f4a2d18305170bf
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
local_auth_darwin: d2e8c53ef0c4f43c646462e3415432c4dab3ae19
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
diff --git a/lib/constant/links.dart b/lib/constant/links.dart
index 7f77fa3..3b0fd9d 100644
--- a/lib/constant/links.dart
+++ b/lib/constant/links.dart
@@ -11,8 +11,9 @@ class AppLink {
// static final String endPoint = box.read(BoxName.serverChosen);
// static final String server = Env.seferCairoServer;
- static final String server = 'https://intaleq.xyz/intaleq';
- static String loginJwtDriver = "https://intaleq.xyz/intaleq/loginAdmin.php";
+ static final String server = 'https://api.intaleq.xyz/intaleq';
+ static String loginJwtDriver =
+ "https://api.intaleq.xyz/intaleq/loginAdmin.php";
static String googleMapsLink = 'https://maps.googleapis.com/maps/api/';
static String llama = 'https://api.llama-api.com/chat/completions';
@@ -41,6 +42,10 @@ class AppLink {
"$seferPaymentServer/Admin/getPaymentsDashboard.php";
static String getSeferWallet = "$tripzPaymentServer/seferWallet/get.php";
static String addDrivePayment = "$tripzPaymentServer/payment/add.php";
+ static String addFromAdmin =
+ "$tripzPaymentServer/driverWallet/addFromAdmin.php";
+ static String add300ToDriver =
+ "$tripzPaymentServer/driverWallet/add300ToDriver.php";
static String updatePaymetToPaid =
"$tripzPaymentServer/payment/updatePaymetToPaid.php";
static String wallet = '$tripzPaymentServer/passengerWallet';
@@ -238,7 +243,26 @@ class AppLink {
static String getPassengerDetailsByPassengerID =
"$server/Admin/getPassengerDetailsByPassengerID.php";
static String getPassengerDetails = "$server/Admin/getPassengerDetails.php";
+ static String admin_delete_and_blacklist_passenger =
+ "$server/Admin/passenger/admin_delete_and_blacklist_passenger.php";
+ static String admin_update_passenger =
+ "$server/Admin/passenger/admin_update_passenger.php";
+ static String admin_unblacklist =
+ "$server/Admin/passenger/admin_unblacklist.php";
+ static String admin_get_rides_by_phone =
+ "$server/Admin/rides/admin_get_rides_by_phone.php";
+ static String admin_update_ride_status =
+ "$server/Admin/rides/admin_update_ride_status.php";
static String getPassengerbyEmail = "$server/Admin/getPassengerbyEmail.php";
+ static String updateDriverFromAdmin =
+ "$server/Admin/driver/updateDriverFromAdmin.php";
+ static String find_driver_by_phone =
+ "$server/Admin/driver/find_driver_by_phone.php";
+ static String getDriversPending =
+ "$server/auth/syria/driver/drivers_pending_list.php";
+ static String getDriverDetails =
+ "$server/auth/syria/driver/driver_details.php";
+ static String deleteCaptain = "$server/Admin/driver/deleteCaptain.php";
static String addAdminUser = "$server/Admin/adminUser/add.php";
static String getdashbord = "$server/Admin/dashbord.php";
static String getEmployee = "$server/Admin/employee/get.php";
@@ -262,6 +286,10 @@ class AppLink {
static String getPassengersStatic = "$serviceApp/getPassengersStatic.php";
static String getRidesStatic = "$serviceApp/getRidesStatic.php";
static String getEmployeeStatic = "$serviceApp/getEmployeeStatic.php";
+ static String getNotesForEmployee = "$serviceApp/getNotesForEmployee.php";
+ static String getEmployeeDriverAfterCallingRegister =
+ "$serviceApp/getEmployeeDriverAfterCallingRegister.php";
+ static String getEditorStatsCalls = "$serviceApp/getEditorStatsCalls.php";
static String getdriverstotalMonthly =
"$serviceApp/getdriverstotalMonthly.php";
diff --git a/lib/controller/admin/captain_admin_controller.dart b/lib/controller/admin/captain_admin_controller.dart
index debca72..6532813 100644
--- a/lib/controller/admin/captain_admin_controller.dart
+++ b/lib/controller/admin/captain_admin_controller.dart
@@ -32,6 +32,42 @@ class CaptainAdminController extends GetxController {
update();
}
+ Future deletCaptain() async {
+ isLoading = true;
+ update();
+ var res = await CRUD().get(
+ link: AppLink.deleteCaptain,
+ payload: {},
+ );
+ var d = jsonDecode(res);
+ if (d['status'] == 'success') {
+ captainData = d;
+ }
+
+ isLoading = false;
+ update();
+ }
+
+ Future find_driver_by_phone(String phone) async {
+ isLoading = true;
+ update();
+ var res = await CRUD().post(
+ link: AppLink.find_driver_by_phone,
+ payload: {'phone': phone},
+ );
+ var d = (res);
+ if (d != 'failure') {
+ captainData = d;
+ } else {
+ captainData = {};
+ Get.snackbar('Error', 'No captain found with this phone number',
+ backgroundColor: AppColor.redColor);
+ }
+
+ isLoading = false;
+ update();
+ }
+
Future addCaptainPrizeToWallet() async {
String? paymentId;
//todo link to add wallet to captain
diff --git a/lib/controller/admin/dashboard_controller.dart b/lib/controller/admin/dashboard_controller.dart
index 6deefda..d599582 100644
--- a/lib/controller/admin/dashboard_controller.dart
+++ b/lib/controller/admin/dashboard_controller.dart
@@ -21,41 +21,47 @@ class DashboardController extends GetxController {
isLoading = true;
update();
- // الطلب من السيرفر الرئيسي
+ // 🔹 Request main dashboard data
var res = await CRUD().get(link: AppLink.getdashbord, payload: {});
+ print('📡 Main dashboard response: $res');
+
if (res != 'failure') {
var d = jsonDecode(res);
- // Log.print('d: ${d}');
- dashbord = d['message']; // هذا عبارة عن List