إضافة الهوية الجديدة Tripz
This commit is contained in:
@@ -2,9 +2,9 @@ import 'dart:convert';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_driver/constant/box_name.dart';
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/constant/box_name.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
|
||||
import '../../../constant/table_names.dart';
|
||||
import '../../../main.dart';
|
||||
|
||||
@@ -2,10 +2,10 @@ import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:intaleq_maps/intaleq_maps.dart';
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:siro_driver/controller/functions/tts.dart';
|
||||
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/controller/functions/tts.dart';
|
||||
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
|
||||
|
||||
class DestinationController extends GetxController {
|
||||
bool isLoading = false;
|
||||
@@ -43,11 +43,17 @@ class DestinationController extends GetxController {
|
||||
payload: {'action': 'get'},
|
||||
);
|
||||
|
||||
if (response != null && response is Map && response['status'] == 'success') {
|
||||
if (response != null &&
|
||||
response is Map &&
|
||||
response['status'] == 'success') {
|
||||
final data = response['message'];
|
||||
if (data != null) {
|
||||
final lat = double.tryParse(data['target_latitude']?.toString() ?? '0') ?? 0.0;
|
||||
final lng = double.tryParse(data['target_longitude']?.toString() ?? '0') ?? 0.0;
|
||||
final lat =
|
||||
double.tryParse(data['target_latitude']?.toString() ?? '0') ??
|
||||
0.0;
|
||||
final lng =
|
||||
double.tryParse(data['target_longitude']?.toString() ?? '0') ??
|
||||
0.0;
|
||||
activeLatLng = LatLng(lat, lng);
|
||||
activeName = data['destination_name']?.toString() ?? "";
|
||||
} else {
|
||||
@@ -66,7 +72,8 @@ class DestinationController extends GetxController {
|
||||
// --- 2. Autocomplete search suggestions ---
|
||||
void onSearchChanged(String query) {
|
||||
if (_debounce?.isActive ?? false) _debounce!.cancel();
|
||||
_debounce = Timer(const Duration(milliseconds: 500), () => getPlacesSuggestions(query));
|
||||
_debounce = Timer(
|
||||
const Duration(milliseconds: 500), () => getPlacesSuggestions(query));
|
||||
}
|
||||
|
||||
Future<void> getPlacesSuggestions(String query) async {
|
||||
@@ -115,9 +122,12 @@ class DestinationController extends GetxController {
|
||||
} else {
|
||||
final msg = response['message']?.toString() ?? "";
|
||||
if (msg.contains("الحد الأقصى") || msg.contains("limit")) {
|
||||
mySnackbarWarning('You have reached the daily limit of 2 destination settings.'.tr);
|
||||
mySnackbarWarning(
|
||||
'You have reached the daily limit of 2 destination settings.'
|
||||
.tr);
|
||||
} else {
|
||||
mySnackbarWarning('Failed to set destination. Please try again.'.tr);
|
||||
mySnackbarWarning(
|
||||
'Failed to set destination. Please try again.'.tr);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -143,7 +153,9 @@ class DestinationController extends GetxController {
|
||||
payload: {'action': 'clear'},
|
||||
);
|
||||
|
||||
if (response != null && response is Map && response['status'] == 'success') {
|
||||
if (response != null &&
|
||||
response is Map &&
|
||||
response['status'] == 'success') {
|
||||
activeLatLng = null;
|
||||
activeName = "";
|
||||
mySnackbarSuccess('Destination cleared!'.tr);
|
||||
@@ -161,7 +173,8 @@ class DestinationController extends GetxController {
|
||||
|
||||
// --- 5. Reverse geocoding (for map picker) ---
|
||||
Future<String> reverseGeocode(LatLng location) async {
|
||||
final url = '${AppLink.reverseGeocoding}?lat=${location.latitude}&lng=${location.longitude}';
|
||||
final url =
|
||||
'${AppLink.reverseGeocoding}?lat=${location.latitude}&lng=${location.longitude}';
|
||||
try {
|
||||
final response = await CRUD().getMapSaas(link: url);
|
||||
if (response != null && response is List && response.isNotEmpty) {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:siro_driver/views/widgets/elevated_btn.dart';
|
||||
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_driver/constant/box_name.dart';
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:siro_driver/main.dart';
|
||||
import 'package:siro_driver/models/model/driver/rides_summary_model.dart';
|
||||
import 'package:tripz_driver/constant/box_name.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/main.dart';
|
||||
import 'package:tripz_driver/models/model/driver/rides_summary_model.dart';
|
||||
|
||||
import '../../../views/widgets/error_snakbar.dart';
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:siro_driver/constant/box_name.dart';
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:siro_driver/main.dart';
|
||||
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:tripz_driver/constant/box_name.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/main.dart';
|
||||
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class AssuranceHealthController extends GetxController {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:siro_driver/constant/box_name.dart';
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:siro_driver/main.dart';
|
||||
import 'package:tripz_driver/constant/box_name.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/main.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class MaintainCenterController extends GetxController {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/main.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:siro_driver/print.dart';
|
||||
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/main.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/print.dart';
|
||||
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:video_player/video_player.dart';
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import 'package:get/get.dart';
|
||||
import 'package:intaleq_maps/intaleq_maps.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:siro_driver/constant/box_name.dart';
|
||||
import 'package:tripz_driver/constant/box_name.dart';
|
||||
import 'dart:async';
|
||||
|
||||
import '../../../constant/links.dart';
|
||||
@@ -32,8 +32,7 @@ class HomeCaptainController extends GetxController {
|
||||
Timer? activeTimer;
|
||||
Map data = {};
|
||||
bool isHomeMapActive = true;
|
||||
InlqBitmap carIcon =
|
||||
InlqBitmap.fromStyleImage('car_icon', size: 2.3);
|
||||
InlqBitmap carIcon = InlqBitmap.fromStyleImage('car_icon', size: 2.3);
|
||||
bool isMapReadyForCommands = false;
|
||||
bool isLoading = true;
|
||||
late double kazan = 0;
|
||||
@@ -604,7 +603,7 @@ class HomeCaptainController extends GetxController {
|
||||
update();
|
||||
}
|
||||
|
||||
// late SiroMapController mapHomeCaptainController;
|
||||
// late TripzMapController mapHomeCaptainController;
|
||||
IntaleqMapController? mapHomeCaptainController;
|
||||
CameraPosition? currentCameraPosition;
|
||||
LatLng? _lastCameraLoc; // لتتبع آخر موقع حرك الكاميرا
|
||||
|
||||
@@ -6,9 +6,9 @@ import 'dart:math';
|
||||
import 'dart:math' as math;
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:siro_driver/controller/home/captin/home_captain_controller.dart';
|
||||
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:siro_driver/views/widgets/mydialoug.dart';
|
||||
import 'package:tripz_driver/controller/home/captin/home_captain_controller.dart';
|
||||
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:tripz_driver/views/widgets/mydialoug.dart';
|
||||
import 'package:bubble_head/bubble.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:geolocator/geolocator.dart' as geo;
|
||||
@@ -1401,8 +1401,9 @@ class MapDriverController extends GetxController
|
||||
// الثابتين (distance/duration) اللذين يمثلان المسار المخطط أصلاً
|
||||
// ولا يُحدَّثان أبداً أثناء الرحلة — كانا يُبطلان فعلياً حماية
|
||||
// "إعادة حساب السعر من المسافة الفعلية" في الباك إند.
|
||||
final double actualDistanceKm =
|
||||
currentRideDistanceKm > 0 ? currentRideDistanceKm : safeParseDouble(distance);
|
||||
final double actualDistanceKm = currentRideDistanceKm > 0
|
||||
? currentRideDistanceKm
|
||||
: safeParseDouble(distance);
|
||||
final int actualDurationMinutes = _rideStartTime != null
|
||||
? (DateTime.now().difference(_rideStartTime!).inSeconds / 60).ceil()
|
||||
: safeParseInt(duration);
|
||||
@@ -1871,7 +1872,7 @@ class MapDriverController extends GetxController
|
||||
box.write(BoxName.countryCode, 'Jordan');
|
||||
update(); // [Fix N-5]
|
||||
// box.write(BoxName.serverChosen,
|
||||
// AppLink.SiroSyriaServer); // مثال: اختر سيرفر سوريا للبيانات
|
||||
// AppLink.TripzSyriaServer); // مثال: اختر سيرفر سوريا للبيانات
|
||||
return 'Jordan';
|
||||
}
|
||||
|
||||
@@ -1897,7 +1898,7 @@ class MapDriverController extends GetxController
|
||||
|
||||
/// **جلب ورسم المسار (OSRM - New Standard System)**
|
||||
///
|
||||
/// تستخدم السيرفر الجديد: https://routesy.intaleq.xyz/route/v1/driving
|
||||
/// تستخدم السيرفر الجديد: https://routesy.tripz.xyz/route/v1/driving
|
||||
Future<void> getRoute({
|
||||
required LatLng origin,
|
||||
required LatLng destination,
|
||||
@@ -2880,7 +2881,8 @@ class MapDriverController extends GetxController
|
||||
polyLines.removeWhere(
|
||||
(p) => p.polylineId.value.startsWith('passenger_walk_line'));
|
||||
|
||||
if (!isRideStarted && isArrivedSend &&
|
||||
if (!isRideStarted &&
|
||||
isArrivedSend &&
|
||||
upcomingPathPoints.isNotEmpty &&
|
||||
latLngPassengerLocation.latitude != 0) {
|
||||
final LatLng lastRoadPt = upcomingPathPoints.last;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:intaleq_maps/intaleq_maps.dart';
|
||||
import 'package:siro_driver/constant/api_key.dart';
|
||||
import 'package:siro_driver/constant/box_name.dart';
|
||||
import 'package:siro_driver/constant/links.dart';
|
||||
import 'package:siro_driver/controller/functions/crud.dart';
|
||||
import 'package:siro_driver/controller/functions/tts.dart';
|
||||
import 'package:tripz_driver/constant/api_key.dart';
|
||||
import 'package:tripz_driver/constant/box_name.dart';
|
||||
import 'package:tripz_driver/constant/links.dart';
|
||||
import 'package:tripz_driver/controller/functions/crud.dart';
|
||||
import 'package:tripz_driver/controller/functions/tts.dart';
|
||||
|
||||
import '../../../main.dart';
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import 'package:intaleq_maps/intaleq_maps.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:just_audio/just_audio.dart';
|
||||
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
|
||||
import 'dart:math' as math;
|
||||
|
||||
import '../../../constant/box_name.dart';
|
||||
@@ -755,7 +755,8 @@ class OrderRequestController extends GetxController
|
||||
'step2': _safeGet(23),
|
||||
'step3': _safeGet(24),
|
||||
'step4': _safeGet(25),
|
||||
'passengerWalletBurc': _safeGet(27), // 27 = passenger_wallet (كان 26 = price_for_driver)
|
||||
'passengerWalletBurc':
|
||||
_safeGet(27), // 27 = passenger_wallet (كان 26 = price_for_driver)
|
||||
'timeOfOrder': DateTime.now().toString(),
|
||||
'totalPassenger': _safeGet(2),
|
||||
'carType': _safeGet(31),
|
||||
|
||||
Reference in New Issue
Block a user