Update codebase
This commit is contained in:
@@ -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: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';
|
||||
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';
|
||||
|
||||
class DestinationController extends GetxController {
|
||||
bool isLoading = false;
|
||||
@@ -43,17 +43,14 @@ 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;
|
||||
// عند غياب وجهة نشطة يردّ السيرفر نصاً ("No active destination set.")
|
||||
// لا خريطة، وفهرسته كخريطة كان يرمي
|
||||
// type 'String' is not a subtype of type 'int'.
|
||||
if (data is Map) {
|
||||
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 {
|
||||
@@ -72,8 +69,7 @@ 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 {
|
||||
@@ -122,12 +118,9 @@ 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 {
|
||||
@@ -153,9 +146,7 @@ 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);
|
||||
@@ -173,8 +164,7 @@ 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) {
|
||||
|
||||
Reference in New Issue
Block a user