This commit is contained in:
Hamza-Ayed
2026-05-01 01:43:59 +03:00
parent cdda136006
commit 5fc160e374
25 changed files with 1526 additions and 1856 deletions

View File

@@ -13,6 +13,7 @@ import '../../controller/admin/static_controller.dart';
import '../../controller/functions/crud.dart';
import '../../controller/notification_controller.dart';
import '../../main.dart';
import '../../print.dart';
import '../invoice/invoice_list_page.dart';
import 'captain/captain.dart';
import 'captain/syrian_driver_not_active.dart';
@@ -28,6 +29,8 @@ import 'rides/ride_lookup_page.dart';
import 'server/monitor_server_page.dart';
import 'static/static.dart';
import 'wallet/wallet.dart';
import 'staff/add_staff_page.dart';
import 'staff/pending_admins_page.dart';
class AdminHomePage extends StatefulWidget {
const AdminHomePage({super.key});
@@ -69,10 +72,16 @@ class _AdminHomePageState extends State<AdminHomePage>
duration: const Duration(seconds: 2),
)..repeat(reverse: true);
String myPhone = box.read(BoxName.adminPhone).toString();
isSuperAdmin = myPhone == '201023248456' ||
myPhone == '963992952235' ||
myPhone == '963942542053';
final String role = box.read('admin_role')?.toString() ?? 'admin';
final String myPhone = box.read(BoxName.adminPhone)?.toString() ?? '';
// التحقق من الصلاحيات: إما عن طريق الدور أو عن طريق قائمة أرقام السوبر أدمن التقليدية
isSuperAdmin = (role == 'super_admin') ||
(myPhone == '201023248456' ||
myPhone == '963992952235' ||
myPhone == '963942542053');
Log.print('AdminHomePage: role=$role, isSuperAdmin=$isSuperAdmin');
dashboardController = Get.put(DashboardController());
}
@@ -760,6 +769,8 @@ class _AdminHomePageState extends State<AdminHomePage>
const Color(0xFF80CBC4), () => Get.to(() => InvoiceListPage())),
ActionItem('الموظفون', Icons.badge_rounded, const Color(0xFFB0BEC5),
() => Get.to(() => EmployeePage())),
ActionItem('موافقة المشرفين', Icons.how_to_reg_rounded, _accent,
() => Get.to(() => const PendingAdminsPage())),
],
),
if (isSuperAdmin)
@@ -804,19 +815,37 @@ class _AdminHomePageState extends State<AdminHomePage>
))),
],
),
if (isSuperAdmin)
ActionCategory(
title: 'إدارة الكوادر',
items: [
ActionItem(
'إضافة مدير',
Icons.admin_panel_settings_rounded,
_accent,
() => Get.to(() => const AddStaffPage(role: 'admin')),
),
ActionItem(
'إضافة خدمة عملاء',
Icons.support_agent_rounded,
_info,
() => Get.to(() => const AddStaffPage(role: 'service')),
),
],
),
];
}
List<Map<String, dynamic>> _getDetailedStats(
dynamic data, DashboardController controller) {
return [
// if (isSuperAdmin)
// {
// 'title': 'رصيد الرسائل',
// 'value': controller.creditSMS,
// 'icon': Icons.sms_rounded,
// 'color': _info,
// },
if (isSuperAdmin)
{
'title': 'رصيد الرسائل',
'value': controller.creditSMS,
'icon': Icons.sms_rounded,
'color': _info,
},
{
'title': 'مكتملة',
'value': data['completed_rides'],