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) - - DB: PostgreSQL 15 - API Status: Online - Last Backup: 02:00 AM - + + Equipos + + + + # + Nombre + País + Fundació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
Velocidad Punta: 334 km/h
Estado de Pista: Seco
Récord de vuelta: 1:16.623