diff --git a/f1.html b/f1.html index 9f60b07..57f2ad7 100644 --- a/f1.html +++ b/f1.html @@ -38,21 +38,21 @@ - -
-

Telemetría en Vivo (Sector 1)

-

Velocidad Punta: 334 km/h

-

Estado de Pista: Seco

-

Récord de vuelta: 1:16.623

-
- -
-

Admin Info (Debug)

- +
+

Equipos

+ + + + + + + + + + + + +
#NombrePaísFundación
diff --git a/js/f1.js b/js/f1.js index 0d6038c..78c12f9 100644 --- a/js/f1.js +++ b/js/f1.js @@ -84,6 +84,48 @@ async function cargarPilotos() { } } +// =============================== +// EQUIPOS +// =============================== +async function cargarEquipos() { + try { + const response = await fetch('/f1/api/pilotos'); + const pilotos = await response.json(); + const tbody = document.querySelector('#equipos-table tbody'); + + tbody.innerHTML = ''; // Limpiamos tabla + + // Agrupar pilotos por equipo + const equiposMap = {}; + pilotos.forEach(p => { + const eq = p.equipo || 'Sin equipo'; + if (!equiposMap[eq]) equiposMap[eq] = []; + equiposMap[eq].push(p); + }); + + // Crear filas por equipo + Object.keys(equiposMap).forEach(eq => { + const pilotosEq = equiposMap[eq]; + const nacionalidades = [...new Set(pilotosEq.map(p => p.nacionalidad))].join(', '); + const codigos = pilotosEq.map(p => p.codigo).join(', '); + + const fila = document.createElement('tr'); + fila.innerHTML = ` + ${eq} + ${pilotosEq.length} + ${nacionalidades} + ${codigos} + `; + tbody.appendChild(fila); + }); + + } catch (error) { + console.error('Error cargando equipos:', error); + const tbody = document.querySelector('#equipos-table tbody'); + tbody.innerHTML = `No se pudieron cargar los equipos`; + } +} + // =============================== // INIT PRINCIPAL // =============================== @@ -117,9 +159,10 @@ async function init() { `Próxima sesión de ${proxima.raceName}`; } - // 6) Cargar pilotos al inicio y cada minuto - cargarPilotos(); - setInterval(cargarPilotos, 60000); // refresco cada 60 segundos +// Cargar pilotos y equipos al inicio y cada minuto +cargarPilotos(); +cargarEquipos(); +setInterval(() => { cargarPilotos(); cargarEquipos(); }, 60000); } // Arrancar todo al cargar la página