إصلاح أخطاء شاشة الكباتن من تحديث الذكاء الاصطناعي
This commit is contained in:
@@ -0,0 +1,466 @@
|
||||
{
|
||||
"pages": [
|
||||
{
|
||||
"route": "/admin/home",
|
||||
"file": "lib/views/admin/admin_home_page.dart",
|
||||
"title": "Admin Home Page (Dashboard)",
|
||||
"appBarPattern": "SliverAppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "charts|grid|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom AppBar with FlexibleSpaceBar; complex chart implementations; uses DashboardV2Widget"
|
||||
},
|
||||
{
|
||||
"route": "/admin/analytics/live",
|
||||
"file": "lib/views/admin/analytics/live_analytics_page.dart",
|
||||
"title": "Live Analytics Page",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "charts|map|tables",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Standard AppBar with TabBar; flutter_map integration; shared widget classes for charts"
|
||||
},
|
||||
{
|
||||
"route": "/admin/analytics/advanced",
|
||||
"file": "lib/views/admin/static/advanced_analytics_page.dart",
|
||||
"title": "Advanced Analytics Page",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "charts|lists|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; Column+SingleChildScrollView instead of CustomScrollView; inline _LegendDot"
|
||||
},
|
||||
{
|
||||
"route": "/admin/static",
|
||||
"file": "lib/views/admin/static/static.dart",
|
||||
"title": "System Statistics (StaticDash)",
|
||||
"appBarPattern": "SliverAppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "charts|lists",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Complex SliverAppBar; extensive custom chart widgets; many inline helper classes"
|
||||
},
|
||||
{
|
||||
"route": "/admin/passenger",
|
||||
"file": "lib/views/admin/passenger/passenger.dart",
|
||||
"title": "Passenger Management",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; Column+Expanded+GetBuilder pattern; consistent cs usage"
|
||||
},
|
||||
{
|
||||
"route": "/admin/captain",
|
||||
"file": "lib/views/admin/captain/captain.dart",
|
||||
"title": "Captain List",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; search section separate; ListView.separated with cards"
|
||||
},
|
||||
{
|
||||
"route": "/admin/drivers/pending",
|
||||
"file": "lib/views/admin/captain/syrian_driver_not_active.dart",
|
||||
"title": "Pending Captain Requests",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Misleading filename; Custom Container header; RefreshIndicator; status chips"
|
||||
},
|
||||
{
|
||||
"route": "/driver-docs",
|
||||
"file": "lib/views/admin/drivers/driver_documents_review_page.dart",
|
||||
"title": "Driver Documents Review",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards|images",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Standard AppBar; pagination with loadMore; ExpansionTile for doc details with images"
|
||||
},
|
||||
{
|
||||
"route": "/admin/drivers/gifts",
|
||||
"file": "lib/views/admin/drivers/driver_gift_check_page.dart",
|
||||
"title": "Driver Gifts & Offers",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": true,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "form|log",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Custom Container header; hardcoded Color(0xFFF59E0B); terminal log with hardcoded green Color(0xFF4ADE80)"
|
||||
},
|
||||
{
|
||||
"route": "/admin/quality/blacklist",
|
||||
"file": "lib/views/admin/quality/blacklist_page.dart",
|
||||
"title": "Blacklist Page",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "tabs|lists",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header with TabBar; TabBar in Container not AppBar.bottom; Dialog for unblock"
|
||||
},
|
||||
{
|
||||
"route": "/admin/rides/dashboard",
|
||||
"file": "lib/views/admin/rides/rides.dart",
|
||||
"title": "Rides Dashboard",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "charts|grid|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Custom Container header; SingleChildScrollView+Column; LineChart; GridView for metrics"
|
||||
},
|
||||
{
|
||||
"route": "/admin/rides/lookup",
|
||||
"file": "lib/views/admin/rides/ride_lookup_page.dart",
|
||||
"title": "Ride Lookup / Management",
|
||||
"appBarPattern": "SliverAppBar",
|
||||
"usesCsColors": false,
|
||||
"hasHardcodedColors": true,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards|map",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "HARDCODED colors (bgColor, primaryColor, textPrimary); no Theme.of(context).colorScheme; complex SliverAppBar; custom ride cards; separate map screen"
|
||||
},
|
||||
{
|
||||
"route": "/admin/drivers/monitor",
|
||||
"file": "lib/views/admin/drivers/monitor_ride.dart",
|
||||
"title": "Live Ride Monitoring",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "map|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom header for search; two views (search + map); loading/error overlays on map; bottom info panel"
|
||||
},
|
||||
{
|
||||
"route": "/admin/drivers/tracker",
|
||||
"file": "lib/views/admin/drivers/driver_tracker_screen.dart",
|
||||
"title": "Captain Tracker (Siro Tracker)",
|
||||
"appBarPattern": "Container-based (Positioned)",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": true,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "map|dashboard",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "HARDCODED dark theme (Color(0xFF0A0E27)); Stack with Positioned overlays; custom dashboard panel; no standard Scaffold/AppBar"
|
||||
},
|
||||
{
|
||||
"route": "/transit/orgs",
|
||||
"file": "lib/views/transit/org_list_page.dart",
|
||||
"title": "Transit Organizations",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Standard AppBar; simple ListView with Cards; RefreshIndicator; clean minimal"
|
||||
},
|
||||
{
|
||||
"route": "/admin/financial/v2",
|
||||
"file": "lib/views/admin/financial/financial_v2_page.dart",
|
||||
"title": "Financial Report V2",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "cards|charts|lists",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Standard AppBar with refresh; SingleChildScrollView+Column; LinearProgressIndicator; ListView.builder shrinkWrap"
|
||||
},
|
||||
{
|
||||
"route": "/admin/wallet",
|
||||
"file": "lib/views/admin/wallet/wallet.dart",
|
||||
"title": "Financial Wallets",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; Pay All button; custom MyCircularProgressIndicator; consistent cs usage"
|
||||
},
|
||||
{
|
||||
"route": "/admin/packages",
|
||||
"file": "lib/views/admin/packages.dart",
|
||||
"title": "Packages & Subscriptions",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; Get.dialog for edit; platform icons; controller in same file"
|
||||
},
|
||||
{
|
||||
"route": "/invoice",
|
||||
"file": "lib/views/invoice/invoice_list_page.dart",
|
||||
"title": "Invoice List",
|
||||
"appBarPattern": "Container-based (gradient)",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": true,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards|images",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Gradient Container header (not AppBar); FAB; InteractiveViewer for images; hardcoded Colors.white in header"
|
||||
},
|
||||
{
|
||||
"route": "/kazan",
|
||||
"file": "lib/views/admin/pricing/kazan_editor_page.dart",
|
||||
"title": "Kazan Pricing Editor",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": true,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "form|grid",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Custom Container header; hardcoded car type colors; GoogleFonts; GridView for km prices; Slider for percentages"
|
||||
},
|
||||
{
|
||||
"route": "/promo",
|
||||
"file": "lib/views/admin/promo/promo_management_page.dart",
|
||||
"title": "Promo Code Management",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Standard AppBar; BottomSheet forms; PopupMenuButton; date pickers; GoogleFonts; custom widgets MyTextForm/MyElevatedButton"
|
||||
},
|
||||
{
|
||||
"route": "/marketing",
|
||||
"file": "lib/views/admin/marketing/marketing_page.dart",
|
||||
"title": "Marketing & AI Automation",
|
||||
"appBarPattern": "AppBar (complex bottom)",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "tabs|charts|lists|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "AppBar with PreferredSize bottom (country selector + TabBar); 3 tabs; FlChart charts; inline Card widgets; AI prompt editor"
|
||||
},
|
||||
{
|
||||
"route": "/heatmap",
|
||||
"file": "lib/views/admin/marketing/heatmap_page.dart",
|
||||
"title": "Heatmap Page",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "map|filters",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Custom Container header; FlutterMap with CircleLayer; filter chips; Dio HTTP; legend overlay"
|
||||
},
|
||||
{
|
||||
"route": "/social-intelligence",
|
||||
"file": "lib/views/admin/marketing/social_intelligence_screen.dart",
|
||||
"title": "Social Intelligence",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|html",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; http package directly; HtmlWidget for HTML; ExpansionTile reports"
|
||||
},
|
||||
{
|
||||
"route": "/complaints",
|
||||
"file": "lib/views/admin/complaints/complaint_list_page.dart",
|
||||
"title": "Complaints Management",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Custom Container header; delayed complaints banner; ExpansionTile; BottomSheet with dropdown; GoogleFonts"
|
||||
},
|
||||
{
|
||||
"route": "/admin/server",
|
||||
"file": "lib/views/admin/server/monitor_server_page.dart",
|
||||
"title": "Server Monitor",
|
||||
"appBarPattern": "SliverAppBar",
|
||||
"usesCsColors": false,
|
||||
"hasHardcodedColors": true,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "cards|charts|lists",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "HARDCODED dark theme (Color(0xFF0A0E27)); no Theme.of(context).colorScheme; SliverAppBar with gradient; LayoutBuilder responsive; all colors hardcoded"
|
||||
},
|
||||
{
|
||||
"route": "/admin/security/audit-logs",
|
||||
"file": "lib/views/admin/security/audit_logs_page.dart",
|
||||
"title": "Audit Logs",
|
||||
"appBarPattern": "Container-based",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Custom Container header; GetBuilder with SecurityV2Controller; simple ListView; empty state with DB hint"
|
||||
},
|
||||
{
|
||||
"route": "/admin/employee",
|
||||
"file": "lib/views/admin/employee/employee_page.dart",
|
||||
"title": "Employee Management",
|
||||
"appBarPattern": "SliverAppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards|images",
|
||||
"hasLoadingState": false,
|
||||
"hasEmptyState": true,
|
||||
"issues": "SliverAppBar with FlexibleSpaceBar; CustomScrollView with Slivers; FAB; image viewers for IDs; form inline in same file"
|
||||
},
|
||||
{
|
||||
"route": "/admin/staff/add",
|
||||
"file": "lib/views/admin/staff/add_staff_page.dart",
|
||||
"title": "Add Staff Page",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "form",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Standard AppBar; form with helper methods; Dropdown for gender/country; role via constructor"
|
||||
},
|
||||
{
|
||||
"route": "/admin/staff/pending",
|
||||
"file": "lib/views/admin/staff/pending_admins_page.dart",
|
||||
"title": "Pending Admins",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": true,
|
||||
"issues": "Standard AppBar with surfaceContainerHighest bg; StatefulWidget with setState; CRUD in widget; action buttons per item"
|
||||
},
|
||||
{
|
||||
"route": "/admin/error",
|
||||
"file": "lib/views/admin/error/error/error_page.dart",
|
||||
"title": "Error Logs",
|
||||
"appBarPattern": "AppBar",
|
||||
"usesCsColors": true,
|
||||
"hasHardcodedColors": false,
|
||||
"importsColorsDart": false,
|
||||
"importsThemeDart": false,
|
||||
"dataDisplay": "list|cards",
|
||||
"hasLoadingState": true,
|
||||
"hasEmptyState": false,
|
||||
"issues": "Standard AppBar; search with phone filter; ExpansionTile for details; multiple _buildInfoBadge chips; StatefulWidget; ErrorLog model in same file"
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"totalPages": 31,
|
||||
"appBarPatterns": {
|
||||
"AppBar": 8,
|
||||
"SliverAppBar": 4,
|
||||
"Container-based (custom)": 19
|
||||
},
|
||||
"colorSystemUsage": {
|
||||
"usesColorScheme": 27,
|
||||
"hasHardcodedColors": 4
|
||||
},
|
||||
"imports": {
|
||||
"importsColorsDart": 0,
|
||||
"importsThemeDart": 0
|
||||
},
|
||||
"dataDisplayTypes": {
|
||||
"list": 22,
|
||||
"cards": 20,
|
||||
"charts": 9,
|
||||
"map": 4,
|
||||
"tables": 3,
|
||||
"forms": 5,
|
||||
"images": 3,
|
||||
"html": 1
|
||||
},
|
||||
"loadingStates": 29,
|
||||
"emptyStates": 22
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user