إضافة الهوية الجديدة Tripz
This commit is contained in:
@@ -4,9 +4,9 @@ import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/views/admin/drivers/driver_gift_check_page.dart';
|
||||
import 'package:siro_admin/views/admin/drivers/driver_tracker_screen.dart';
|
||||
import 'package:siro_admin/views/admin/quality/blacklist_page.dart';
|
||||
import 'package:tripz_admin/views/admin/drivers/driver_gift_check_page.dart';
|
||||
import 'package:tripz_admin/views/admin/drivers/driver_tracker_screen.dart';
|
||||
import 'package:tripz_admin/views/admin/quality/blacklist_page.dart';
|
||||
|
||||
import '../../constant/box_name.dart';
|
||||
import '../../controller/admin/dashboard_controller.dart';
|
||||
@@ -36,10 +36,10 @@ import 'static/advanced_analytics_page.dart';
|
||||
import 'financial/financial_v2_page.dart';
|
||||
import 'security/audit_logs_page.dart';
|
||||
import 'analytics/live_analytics_page.dart';
|
||||
import 'package:siro_admin/views/widgets/responsive_layout.dart';
|
||||
import 'package:siro_admin/views/widgets/web_sidebar.dart';
|
||||
import 'package:tripz_admin/views/widgets/responsive_layout.dart';
|
||||
import 'package:tripz_admin/views/widgets/web_sidebar.dart';
|
||||
import '../transit/org_list_page.dart';
|
||||
import 'package:siro_admin/views/widgets/glass_container.dart';
|
||||
import 'package:tripz_admin/views/widgets/glass_container.dart';
|
||||
|
||||
class AdminHomePage extends StatefulWidget {
|
||||
const AdminHomePage({super.key});
|
||||
@@ -329,7 +329,7 @@ class _AdminHomePageState extends State<AdminHomePage>
|
||||
colors: [cs.primary, cs.tertiary],
|
||||
).createShader(bounds),
|
||||
child: const Text(
|
||||
'Siro Admin',
|
||||
'Tripz Admin',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w700,
|
||||
@@ -1148,7 +1148,7 @@ class _AdminHomePageState extends State<AdminHomePage>
|
||||
ActionItem('السائقون', Icons.drive_eta_rounded, const Color(0xFFF59E0B),
|
||||
() => Get.to(() => CaptainsPage())),
|
||||
ActionItem('المراقب', Icons.track_changes_rounded, const Color(0xFFEF4444),
|
||||
() => Get.to(() => SiroTrackerScreen())),
|
||||
() => Get.to(() => TripzTrackerScreen())),
|
||||
],
|
||||
),
|
||||
ActionCategory(
|
||||
|
||||
@@ -502,7 +502,7 @@ class _MapTabState extends State<_MapTab> with AutomaticKeepAliveClientMixin {
|
||||
urlTemplate:
|
||||
'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png',
|
||||
subdomains: const ['a', 'b', 'c', 'd'],
|
||||
userAgentPackageName: 'com.siromove.admin',
|
||||
userAgentPackageName: 'com.tripzmove.admin',
|
||||
),
|
||||
CircleLayer(circles: markers),
|
||||
],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/views/admin/captain/register_captain.dart';
|
||||
import 'package:siro_admin/views/widgets/my_scafold.dart';
|
||||
import 'package:tripz_admin/views/admin/captain/register_captain.dart';
|
||||
import 'package:tripz_admin/views/widgets/my_scafold.dart';
|
||||
|
||||
import '../../../constant/colors.dart';
|
||||
import '../../../controller/admin/register_captain_controller.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import '../../../constant/links.dart';
|
||||
import '../../../controller/admin/captain_admin_controller.dart';
|
||||
import '../../widgets/elevated_btn.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/admin/register_captain_controller.dart';
|
||||
import 'package:tripz_admin/controller/admin/register_captain_controller.dart';
|
||||
import '../../../../constant/colors.dart';
|
||||
import '../../../../constant/links.dart';
|
||||
import '../../../../constant/style.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/drivers/driver_not_active_controller.dart';
|
||||
import 'package:tripz_admin/controller/drivers/driver_not_active_controller.dart';
|
||||
import 'driver_details_not_active_page.dart';
|
||||
|
||||
class DriversPendingPage extends StatelessWidget {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/admin/dashboard_v2_controller.dart';
|
||||
import 'package:tripz_admin/controller/admin/dashboard_v2_controller.dart';
|
||||
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||
import 'package:siro_admin/views/widgets/glass_container.dart';
|
||||
import 'package:tripz_admin/views/widgets/glass_container.dart';
|
||||
|
||||
class DashboardV2Widget extends StatelessWidget {
|
||||
const DashboardV2Widget({super.key});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart'; // For Get.width if needed, and .tr
|
||||
import 'package:siro_admin/constant/colors.dart'; // Assuming AppColor is here
|
||||
import 'package:siro_admin/constant/style.dart'; // Assuming AppStyle is here
|
||||
import 'package:tripz_admin/constant/colors.dart'; // Assuming AppColor is here
|
||||
import 'package:tripz_admin/constant/style.dart'; // Assuming AppStyle is here
|
||||
|
||||
class DashboardStatCard extends StatelessWidget {
|
||||
final String title;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/controller/functions/wallet.dart';
|
||||
import 'package:siro_admin/views/widgets/my_scafold.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/controller/functions/wallet.dart';
|
||||
import 'package:tripz_admin/views/widgets/my_scafold.dart';
|
||||
|
||||
import '../../../controller/drivers/driverthebest.dart';
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/controller/functions/wallet.dart';
|
||||
import 'package:siro_admin/views/widgets/snackbar.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/controller/functions/wallet.dart';
|
||||
import 'package:tripz_admin/views/widgets/snackbar.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
|
||||
class DriverGiftCheckerController extends GetxController {
|
||||
final TextEditingController phoneController = TextEditingController();
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get_storage/get_storage.dart'; // Ensure get_storage is in pubspec.yaml
|
||||
import 'package:siro_admin/controller/functions/wallet.dart';
|
||||
import 'package:siro_admin/views/widgets/snackbar.dart';
|
||||
import 'package:tripz_admin/controller/functions/wallet.dart';
|
||||
import 'package:tripz_admin/views/widgets/snackbar.dart';
|
||||
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
|
||||
// --- New Controller to handle the specific JSON URL ---
|
||||
class DriverCacheController extends GetxController {
|
||||
|
||||
@@ -5,21 +5,21 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../../../constant/box_name.dart';
|
||||
import '../../../controller/functions/crud.dart';
|
||||
import '../../../main.dart';
|
||||
|
||||
class SiroTrackerScreen extends StatefulWidget {
|
||||
const SiroTrackerScreen({super.key});
|
||||
class TripzTrackerScreen extends StatefulWidget {
|
||||
const TripzTrackerScreen({super.key});
|
||||
|
||||
@override
|
||||
State<SiroTrackerScreen> createState() => _SiroTrackerScreenState();
|
||||
State<TripzTrackerScreen> createState() => _TripzTrackerScreenState();
|
||||
}
|
||||
|
||||
class _SiroTrackerScreenState extends State<SiroTrackerScreen>
|
||||
class _TripzTrackerScreenState extends State<TripzTrackerScreen>
|
||||
with TickerProviderStateMixin {
|
||||
final MapController _mapController = MapController();
|
||||
List<Marker> _markers = [];
|
||||
@@ -516,7 +516,7 @@ class _SiroTrackerScreenState extends State<SiroTrackerScreen>
|
||||
children: [
|
||||
TileLayer(
|
||||
urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||
userAgentPackageName: 'com.siromove.admin',
|
||||
userAgentPackageName: 'com.tripzmove.admin',
|
||||
),
|
||||
MarkerLayer(markers: _markers),
|
||||
],
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/controller/functions/wallet.dart';
|
||||
import 'package:siro_admin/views/widgets/my_scafold.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/controller/functions/wallet.dart';
|
||||
import 'package:tripz_admin/views/widgets/my_scafold.dart';
|
||||
|
||||
import '../../../controller/drivers/driverthebest.dart';
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/views/widgets/snackbar.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/views/widgets/snackbar.dart';
|
||||
|
||||
class DriverLocation {
|
||||
final double latitude;
|
||||
@@ -405,7 +405,7 @@ class RideMonitorScreen extends StatelessWidget {
|
||||
children: [
|
||||
TileLayer(
|
||||
urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||
userAgentPackageName: 'com.siromove.admin',
|
||||
userAgentPackageName: 'com.tripzmove.admin',
|
||||
),
|
||||
if (controller.routePolyline.isNotEmpty)
|
||||
PolylineLayer(
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/employee_controller/employee_controller.dart';
|
||||
import 'package:siro_admin/controller/functions/upload_image copy.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/employee_controller/employee_controller.dart';
|
||||
import 'package:tripz_admin/controller/functions/upload_image copy.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class EmployeePage extends StatelessWidget {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/main.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/main.dart';
|
||||
|
||||
import '../../../constant/box_name.dart';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
|
||||
class ErrorLog {
|
||||
final String id;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/admin/financial_v2_controller.dart';
|
||||
import 'package:tripz_admin/controller/admin/financial_v2_controller.dart';
|
||||
|
||||
class FinancialV2Page extends StatelessWidget {
|
||||
const FinancialV2Page({super.key});
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
|
||||
class HeatmapPage extends StatefulWidget {
|
||||
const HeatmapPage({super.key});
|
||||
@@ -251,7 +251,7 @@ class _HeatmapPageState extends State<HeatmapPage> {
|
||||
children: [
|
||||
TileLayer(
|
||||
urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||
userAgentPackageName: 'com.siromove.admin',
|
||||
userAgentPackageName: 'com.tripzmove.admin',
|
||||
),
|
||||
CircleLayer(circles: _markers),
|
||||
],
|
||||
|
||||
@@ -43,7 +43,7 @@ class MarketingPage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
Text('أتمتة التسويق الذكي (Siro AI Marketing)', style: TextStyle(color: cs.onSurface, fontSize: 18, fontWeight: FontWeight.w700)),
|
||||
Text('أتمتة التسويق الذكي (Tripz AI Marketing)', style: TextStyle(color: cs.onSurface, fontSize: 18, fontWeight: FontWeight.w700)),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -260,9 +260,9 @@ class MarketingPage extends StatelessWidget {
|
||||
|
||||
Widget _buildComparisonChart(MarketingController c, ColorScheme cs) {
|
||||
final hourlyData = c.hourlyPriceData;
|
||||
final siroBase = c.siroBasePrices;
|
||||
final double siroSpeedPrice = (siroBase['speedPrice'] != null)
|
||||
? double.tryParse(siroBase['speedPrice'].toString()) ?? 0.0
|
||||
final tripzBase = c.tripzBasePrices;
|
||||
final double tripzSpeedPrice = (tripzBase['speedPrice'] != null)
|
||||
? double.tryParse(tripzBase['speedPrice'].toString()) ?? 0.0
|
||||
: 0.0;
|
||||
|
||||
List<FlSpot> competitorSpots = [];
|
||||
@@ -280,10 +280,10 @@ class MarketingPage extends StatelessWidget {
|
||||
final double maxY = competitorSpots.fold<double>(0, (p, s) => s.y > p ? s.y : p);
|
||||
final double chartMaxY = maxY > 0 ? maxY * 1.3 : 10;
|
||||
|
||||
List<FlSpot> siroSpots = [];
|
||||
if (siroSpeedPrice > 0) {
|
||||
List<FlSpot> tripzSpots = [];
|
||||
if (tripzSpeedPrice > 0) {
|
||||
for (int i = 0; i < hourlyData.length; i++) {
|
||||
siroSpots.add(FlSpot(i.toDouble(), siroSpeedPrice));
|
||||
tripzSpots.add(FlSpot(i.toDouble(), tripzSpeedPrice));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,8 +306,8 @@ class MarketingPage extends StatelessWidget {
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
hourlyData.isNotEmpty
|
||||
? 'مقارنة أسعار Siro مقابل متوسط المنافسين لآخر ${hourlyData.length} ساعة'
|
||||
: 'مقارنة أسعار Siro مقابل متوسط المنافسين لآخر 24 ساعة',
|
||||
? 'مقارنة أسعار Tripz مقابل متوسط المنافسين لآخر ${hourlyData.length} ساعة'
|
||||
: 'مقارنة أسعار Tripz مقابل متوسط المنافسين لآخر 24 ساعة',
|
||||
style: TextStyle(fontSize: 10, color: cs.onSurfaceVariant),
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
@@ -352,9 +352,9 @@ class MarketingPage extends StatelessWidget {
|
||||
minY: 0,
|
||||
maxY: chartMaxY,
|
||||
lineBarsData: [
|
||||
if (siroSpots.length > 1)
|
||||
if (tripzSpots.length > 1)
|
||||
LineChartBarData(
|
||||
spots: siroSpots,
|
||||
spots: tripzSpots,
|
||||
isCurved: true,
|
||||
color: cs.primary,
|
||||
barWidth: 3,
|
||||
@@ -902,7 +902,7 @@ class MarketingPage extends StatelessWidget {
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text('توقعات الذكاء الاصطناعي (Siro AI Prediction)', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 13, color: cs.tertiary)),
|
||||
Text('توقعات الذكاء الاصطناعي (Tripz AI Prediction)', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 13, color: cs.tertiary)),
|
||||
const SizedBox(height: 6),
|
||||
Text(
|
||||
c.aiPredictionMessage!,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'dart:convert';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/views/widgets/snackbar.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/controller/functions/crud.dart';
|
||||
import 'package:tripz_admin/views/widgets/snackbar.dart';
|
||||
|
||||
import '../../print.dart';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:tripz_admin/constant/links.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import '../../../controller/functions/crud.dart';
|
||||
import '../../../constant/box_name.dart';
|
||||
@@ -999,7 +999,7 @@ class _RideMapMonitorScreenState extends State<RideMapMonitorScreen> {
|
||||
children: [
|
||||
TileLayer(
|
||||
urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||
userAgentPackageName: 'com.siromove.admin',
|
||||
userAgentPackageName: 'com.tripzmove.admin',
|
||||
),
|
||||
// Route Polyline
|
||||
if (startPos != null && endPos != null)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/admin/security_v2_controller.dart';
|
||||
import 'package:tripz_admin/controller/admin/security_v2_controller.dart';
|
||||
|
||||
class AuditLogsPage extends StatelessWidget {
|
||||
const AuditLogsPage({super.key});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/admin/analytics_v2_controller.dart';
|
||||
import 'package:tripz_admin/controller/admin/analytics_v2_controller.dart';
|
||||
|
||||
class AdvancedAnalyticsPage extends StatelessWidget {
|
||||
const AdvancedAnalyticsPage({super.key});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/controller/functions/launch.dart';
|
||||
import 'package:tripz_admin/controller/functions/launch.dart';
|
||||
|
||||
import '../../../controller/admin/static_controller.dart';
|
||||
import '../../widgets/mycircular.dart';
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:intl/intl.dart' hide TextDirection;
|
||||
import 'package:siro_admin/controller/admin/static_controller.dart';
|
||||
import 'package:tripz_admin/controller/admin/static_controller.dart';
|
||||
import 'notes_driver_page.dart';
|
||||
|
||||
class StaticDash extends StatelessWidget {
|
||||
|
||||
Reference in New Issue
Block a user