import 'package:flutter/material.dart'; import 'package:prosapp_web_app/models/city.dart'; import 'package:prosapp_web_app/services/api_service.dart'; class CitiesProvider extends ChangeNotifier { List cities = []; bool isLoading = true; final _api = ApiService.instance; CitiesProvider() { getCities(); } getCoordsOfCity(String cityName) { for (var city in cities) { if (city.cityName == cityName) return city.coordsOfCity; } return null; } getCities() async { try { final data = await _api.get('/cities') as List; cities = data.map((e) { final m = e as Map; return City( cityName: m['name'] as String, coordsOfCity: m['coords'] as String? ?? '', stateOfCity: m['state'] as String? ?? '', countryOfCity: m['country'] as String? ?? 'Colombia', ); }).toList(); cities.sort((a, b) => a.cityName.compareTo(b.cityName)); } catch (e) { print('Error obteniendo ciudades: $e'); } finally { isLoading = false; notifyListeners(); } } }