import 'package:http/http.dart' as http;
import 'package:html/parser.dart' as htmlParser;

class DataService {
  Future<List<Map<String, dynamic>>> obtenerDatos() async {
    final response = await http.get(Uri.parse('https://crcivan.asociacionador.es/contenedores.html'));
    if (response.statusCode == 200) {
      final document = htmlParser.parse(response.body);

      final filaTabla = document.querySelectorAll('html > body > div > center > table > tbody > tr > td > div > center > table > tbody > tr > td > table > tbody > tr > td > font > font > table > tbody > tr');

      List<Map<String, dynamic>> embalsesData = [];

      for (var fila in filaTabla) {
        var nombreElemento = fila.querySelector('td > p > span');
        var elementos = fila.querySelectorAll('td > span');

        if (nombreElemento != null && elementos.isNotEmpty) {
          var nombre = nombreElemento.text;
          var listaElementos = elementos.map<String>((elemento) => elemento.text).toList();

          var embalseMap = {'nombre': nombre, 'elementos': listaElementos};
          embalsesData.add(embalseMap);
        }
      }
      return embalsesData;
    } else {
      throw Exception('Error al obtener datos');
    }
  }
}
