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:
co-authored by
Claude Opus 5
parent
92dc6b3641
commit
0aab85c732
@@ -29,9 +29,9 @@
|
||||
|
||||
---
|
||||
|
||||
### 1.1 siro_admin - الإصدار القديم (GetX)
|
||||
### 1.1 intaleq_admin - الإصدار القديم (GetX)
|
||||
|
||||
**الملف:** `siro_admin/lib/views/widgets/snackbar.dart`
|
||||
**الملف:** `intaleq_admin/lib/views/widgets/snackbar.dart`
|
||||
|
||||
- يستخدم `Get.snackbar()` حصريًا
|
||||
- يوجد دالتان فقط: `mySnackeBarError()` و `mySnackbarSuccess()`
|
||||
@@ -42,9 +42,9 @@
|
||||
- النصوص بالإنكليزية: `'Error'.tr`, `'Success'.tr`
|
||||
- 30+ استخدامًا في التطبيق
|
||||
|
||||
### 1.2 siro_service - الإصدار القديم (GetX)
|
||||
### 1.2 intaleq_service - الإصدار القديم (GetX)
|
||||
|
||||
**الملف:** `siro_service/lib/views/widgets/mycircular.dart`
|
||||
**الملف:** `intaleq_service/lib/views/widgets/mycircular.dart`
|
||||
|
||||
- يستخدم `Get.snackbar()` حصريًا
|
||||
- يوجد 3 دوال: `mySnackbarError()` و `mySnackbarWarning()` و `mySnackbarSuccess()`
|
||||
@@ -52,9 +52,9 @@
|
||||
- نفس `SnackbarConfig` للثوابت
|
||||
- 70+ استخدامًا في التطبيق
|
||||
|
||||
### 1.3 siro_driver - الإصدار الحديث (Custom Widget)
|
||||
### 1.3 intaleq_driver - الإصدار الحديث (Custom Widget)
|
||||
|
||||
**الملف:** `siro_driver/lib/views/widgets/error_snakbar.dart`
|
||||
**الملف:** `intaleq_driver/lib/views/widgets/error_snakbar.dart`
|
||||
|
||||
- ويج محسّن مخصص مع `_SnackContent` و `AnimationController`
|
||||
- يوجد 4 دوال: `mySnackbarSuccess()` و `mySnackeBarError()` و `mySnackbarInfo()` و `mySnackbarWarning()`
|
||||
@@ -67,11 +67,11 @@
|
||||
- **مشكلة:** يستخدم `Get.snackbar()` الذي يرمي `FlutterError` إذا لم يكن `Overlay` جاهزًا
|
||||
- 100+ استخدامًا في التطبيق
|
||||
|
||||
### 1.4 siro_rider - الإصدار الحديث المحسّن (ScaffoldMessenger)
|
||||
### 1.4 intaleq_rider - الإصدار الحديث المحسّن (ScaffoldMessenger)
|
||||
|
||||
**الملف:** `siro_rider/lib/views/widgets/error_snakbar.dart`
|
||||
**الملف:** `intaleq_rider/lib/views/widgets/error_snakbar.dart`
|
||||
|
||||
- نفس تصميم `siro_driver` مع تحسينات جوهرية
|
||||
- نفس تصميم `intaleq_driver` مع تحسينات جوهرية
|
||||
- **يستخدم فقط `ScaffoldMessenger`** بدلاً من `Get.snackbar()` (لتجنب أخطاء `Overlay`)
|
||||
- يحتوي على آلية إعادة محاولة (retry) تصل إلى 3 مرات
|
||||
- `messenger.clearSnackBars()` قبل العرض (يمنع التراكم)
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
### 1.5 دوال Toast البسيطة
|
||||
|
||||
- **siro_driver** و **siro_rider** لديهما `lib/controller/functions/toast.dart`
|
||||
- **intaleq_driver** و **intaleq_rider** لديهما `lib/controller/functions/toast.dart`
|
||||
- `Toast.show(BuildContext context, String message, Color color)` - دالة بسيطة جدًا
|
||||
- تستخدم `ScaffoldMessenger.of(context).showSnackBar()` مع `SnackBar` مادة
|
||||
- 10+ استخدامات في كل تطبيق
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
### الفروقات بين الإصدارين (القديم والحديث)
|
||||
|
||||
| الخاصية | siro_admin (قديم) | siro_driver (حديث) | siro_rider (حديث) | siro_service (قديم) |
|
||||
| الخاصية | intaleq_admin (قديم) | intaleq_driver (حديث) | intaleq_rider (حديث) | intaleq_service (قديم) |
|
||||
|---------|:-----------------:|:------------------:|:-----------------:|:-------------------:|
|
||||
| عدد الدوال | 2 | 4 | 4 | 3 |
|
||||
| `mySnackbarWarning` | ❌ | ✅ | ✅ | ✅ |
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
**الخطوة 1:** إنشاء مجلد مشترك (shared package) في المسار:
|
||||
```
|
||||
siro_admin/lib/shared/widgets/snackbar/
|
||||
intaleq_admin/lib/shared/widgets/snackbar/
|
||||
```
|
||||
|
||||
**الخطوة 2:** توحيد الواجهة (API) لتصبح:
|
||||
@@ -124,7 +124,7 @@ void mySnackbarWarning(String message);
|
||||
void mySnackbarInfo(String message);
|
||||
```
|
||||
|
||||
**الخطوة 3:** الاعتماد على `ScaffoldMessenger` فقط (مثل siro_rider) لتجنب مشاكل `Overlay` في GetX.
|
||||
**الخطوة 3:** الاعتماد على `ScaffoldMessenger` فقط (مثل intaleq_rider) لتجنب مشاكل `Overlay` في GetX.
|
||||
|
||||
**الخطوة 4:** توحيد الألوان والثوابت:
|
||||
|
||||
@@ -135,7 +135,7 @@ void mySnackbarInfo(String message);
|
||||
| info | `#1A73E8` (أزرق) | `#F0F6FF` | `info_rounded` |
|
||||
| warning | `#F29900` (برتقالي) | `#FFF8E6` | `warning_amber_rounded` |
|
||||
|
||||
**الخطوة 5:** تحويل ملفات `toast.dart` في `siro_driver` و `siro_rider` لاستخدام دالة واحدة موحدة بدلاً من التكرار.
|
||||
**الخطوة 5:** تحويل ملفات `toast.dart` في `intaleq_driver` و `intaleq_rider` لاستخدام دالة واحدة موحدة بدلاً من التكرار.
|
||||
|
||||
**الخطوة 6:** إزالة دوال `Get.snackbar()` المباشرة من جميع ملفات التحكم (controllers) والاستعاضة عنها بالدوال الموحدة.
|
||||
|
||||
@@ -160,7 +160,7 @@ void mySnackbarInfo(String message);
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ طبقة العرض (Admin Dashboard) │
|
||||
│ siro_admin → لوحة تحكم المدير → Flutter Web │
|
||||
│ intaleq_admin → لوحة تحكم المدير → Flutter Web │
|
||||
│ endpoints: Admin/marketing/*.php │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ طبقة API (PHP Backend) │
|
||||
@@ -559,8 +559,8 @@ Android Bot (Scraper) ←→ worker.php (API)
|
||||
|
||||
### 8.2 ملفات ترحيل البصمات - مفتاح مشفر مكشوف
|
||||
|
||||
#### `siro_admin/lib/views/admin/enceypt/fingerprint_migration.dart`
|
||||
#### `siro_admin/lib/views/admin/enceypt/driver_fingerprint_migration.dart`
|
||||
#### `intaleq_admin/lib/views/admin/enceypt/fingerprint_migration.dart`
|
||||
#### `intaleq_admin/lib/views/admin/enceypt/driver_fingerprint_migration.dart`
|
||||
- **الوصف:** أدوات Flutter لترحيل البصمات
|
||||
- **الخطر:** يحتويان على مفتاح المشرف (admin key) بشكل نصي صريح:
|
||||
```
|
||||
@@ -595,7 +595,7 @@ Android Bot (Scraper) ←→ worker.php (API)
|
||||
- **الخطر:** إذا كان الوصول إليه ممكنًا عبر الويب، فإنه يسرب كامل قاعدة الشفرة
|
||||
- **التصنيف:** ⚠️ متوسط - انقل خارج جذر الويب أو احذف
|
||||
|
||||
#### `siro_admin/lib/debug_jwt.dart`
|
||||
#### `intaleq_admin/lib/debug_jwt.dart`
|
||||
- **الوصف:** سكربت Flutter لاختبار JWT
|
||||
- **الخطر:** يكشف بنية JWT ومنهجية التشفير
|
||||
- **التصنيف:** ⚠️ منخفض - احذف من بنية الإنتاج
|
||||
@@ -620,8 +620,8 @@ Android Bot (Scraper) ←→ worker.php (API)
|
||||
| `backend/Admin/Staff/setup.php` | إعادة تعيين الصلاحيات |
|
||||
| `backend/auth/Tester/getTesterApp.php` | SQL Injection + لا مصادقة |
|
||||
| `backend/auth/Tester/updateTesterApp.php` | SQL Injection + لا مصادقة |
|
||||
| `siro_admin/lib/views/admin/enceypt/fingerprint_migration.dart` | مفتاح مكشوف 🔥 |
|
||||
| `siro_admin/lib/views/admin/enceypt/driver_fingerprint_migration.dart` | مفتاح مكشوف 🔥 |
|
||||
| `intaleq_admin/lib/views/admin/enceypt/fingerprint_migration.dart` | مفتاح مكشوف 🔥 |
|
||||
| `intaleq_admin/lib/views/admin/enceypt/driver_fingerprint_migration.dart` | مفتاح مكشوف 🔥 |
|
||||
|
||||
### أولوية متوسطة - أمان أو تنظيف 🟡
|
||||
|
||||
@@ -634,7 +634,7 @@ Android Bot (Scraper) ←→ worker.php (API)
|
||||
| `backend/migration/update_fingerprint_admin.php` | ترحيل بصمات - احذف بعد التأكد |
|
||||
| `backend/migration/update_driver_fingerprint_admin.php` | ترحيل بصمات - احذف بعد التأكد |
|
||||
| `backend/Admin/auth/register.php` | مراجعة - هل ما زال مستخدمًا؟ |
|
||||
| `siro_admin/lib/debug_jwt.dart` | تصحيح JWT - احذف من الإنتاج |
|
||||
| `intaleq_admin/lib/debug_jwt.dart` | تصحيح JWT - احذف من الإنتاج |
|
||||
| `backend/intaleq_v1_secure_latest.md` (33k سطر) | كود مصدر كامل - انقل أو احذف |
|
||||
|
||||
### أولوية منخفضة - تحسين أمني 🟢
|
||||
|
||||
Reference in New Issue
Block a user