`; } const imgCompeticionHtml = (imgSVG) => { let url = imgSVG ? `${competitionBaseUrl}/${imgSVG}` : ''; return ``; } const headerCompeticionHtml = (competicionNombre, tieneFases, faseRonda,numeroJornada,numeroFase) => { return `

${competicionNombre}

${getSubtitle(tieneFases, faseRonda , numeroJornada, numeroFase)}

`; } const resolvePartidos = (calendarioPartidos, directosPartidos, numCalendarios) => { if (!directosPartidos?.length) { return calendarioPartidos; } if (numCalendarios > 1) { const directosPorId = Object.fromEntries(directosPartidos.map(p => [p.id, p])); return calendarioPartidos.map(p => directosPorId[p.id] ?? p); } return directosPartidos; }; const resultsHtmlSingleCompetition = (data) => { let html = ''; html += titleHtml("fútbol"); html += `
`; data.calendarios.forEach(calendario => { const partidos = resolvePartidos( calendario.fase.jornada.partidos, data.directosJornadaHoy?.partidos, data.calendarios.length ); if (calendario.fase?.jornada?.partidos?.length > 0) { html += `
`; if (data.competicion.imgSVG) { html += imgCompeticionHtml(data.competicion.imgSVG); } html += headerCompeticionHtml( data.competicion.nombre, data.competicion.tieneFases, phaseTranslations[calendario.fase.ronda] ?? '', calendario.fase.jornada.numeroJornada, calendario.fase.numero ); html += `
`; html += `
`; partidos.forEach(partido => { html += partidoHtml(partido, data.competicion.deporte, data.competicion.url); }); html += `
`; } }); html += `
`; return html; } const phaseTranslations = { 'Round': 'Fase de grupos', 'Round of 32': 'Dieciseisavos de final', 'Round of 16': 'Octavos', 'Quarter-Finals': 'Cuartos', 'Semi-Finals': 'Semifinal', '3rd and 4th Place': '3º y 4º puesto', 'Final': 'Final', }; const resultsHtmlAllCompetitions = (data) => { let html = ''; for (const [deporteName, deporte] of Object.entries(data.deportes)) { if (deporte.haypartidos) { html += titleHtml(deporte.deporte_para_texto); html += `
`; deporte.competiciones.forEach(competicion => { competicion.calendarios.forEach(calendario => { const partidos = resolvePartidos( calendario.fase.jornada.partidos, data.directosJornadaHoy[competicion.id]?.partidos, competicion.calendarios.length ) if (calendario.fase?.jornada?.partidos?.length > 0) { html += `
`; if (competicion.imgSVG) { html += imgCompeticionHtml(competicion.imgSVG); } html += headerCompeticionHtml(competicion.nombre,competicion.tieneFases, phaseTranslations[calendario.fase.ronda] ?? '', calendario.fase.jornada.numeroJornada, calendario.fase.numero) html += `
` html += `
` partidos.forEach(partido => { html += partidoHtml(partido, competicion.deporte, competicion.url) }) html += `
` } }); }); html += `
`; } } return html; } const partidoHtml = (partido, deporte, competicionUrl) => { const equipoLocalImgUrl = partido.equipoLocal.imgSVG ? `${teamBaseUrl}/${partido.equipoLocal.id}/${partido.equipoLocal.imgSVG}` : ''; const equipoVisitanteImgUrl = partido.equipoVisitante.imgSVG ? `${teamBaseUrl}/${partido.equipoVisitante.id}/${partido.equipoVisitante.imgSVG}` : ''; return `
${partido.equipoLocal.imgSVG ? `escudo equipo local` : ''}

${partido.equipoLocal.nombre}

${partido.golesLocal ?? ''} ${partido.golesPenaltiLocal ? `(${partido.golesPenaltiLocal})` : ''}

${partido.equipoVisitante.imgSVG ? `escudo equipo visitante` : ''}

${partido.equipoVisitante.nombre}

${partido.golesVisitante ?? ''} ${partido.golesPenaltiVisitante ? `(${partido.golesPenaltiVisitante})` : ''}

${getMatchStatus(partido)}

`+ (partido.url !== null ? `Ver ` : `` ) + `
`; } const notFoundHtml = () => { return '
' + '

'+"¡Vaya!"+'

' + '

'+"No hay eventos deportivos en esta fecha. Puedes consultar otro día desde el menú superior."+'

'+ ' ' + '
'; } const getSubtitle = (tieneFases, ronda, numeroJornada, numeroFase) => { if (false === tieneFases) { return `Jornada ${numeroJornada}`; } return !ronda?.trim() ? '' : `${ronda} Jornada ${numeroJornada}`; } const getMatchClass = (estado) => { return comprobarEstadoClase(estado); }; const getMatchStatus = (partido) => { return comprobarEstado(partido) === 'directo' ? '' + capitalizeFirstLetter(comprobarEstado(partido)) : capitalizeFirstLetter(comprobarEstado(partido)); }; const getMatchLink = (partido, deporte, competicionUrl) => { if (partido.directoPersonalizado) { return partido.url; } else { return `https://www.superdeporte.es/deportes/${deporte}/${competicionUrl}/${partido.url}`; } }; const comprobarEstado = (partido) => { let estadoToReturn = ''; switch (partido.estado.toLowerCase()) { case 'fin': case 'finalizado': estadoToReturn = 'finalizado'; break; case 'abandonado': estadoToReturn = 'suspendido'; break; case 'cancelado': estadoToReturn = 'cancelado'; break; case 'directo': case '1ª parte': case '2ª parte': case 'descanso': case 'prorroga': case 'penaltis': estadoToReturn = 'directo'; break; default: estadoToReturn = partido.hora; break; } return estadoToReturn; }; const comprobarEstadoClase = (estado) => { let estadoToReturn = ''; switch (estado.toLowerCase()) { case 'fin': case 'finalizado': case 'abandonado': case 'cancelado': estadoToReturn = 'result-match--ended'; break; case 'directo': case '1ª parte': case '2ª parte': case 'descanso': case 'prorroga': case 'penaltis': estadoToReturn = 'result-match--live'; break; default: estadoToReturn = ''; break; } return estadoToReturn; }; const capitalizeFirstLetter = (string) => { return string.charAt(0).toUpperCase() + string.slice(1); }; const drawSliderSelector = (sliderItem) => { const prevSliderSelected = document.querySelector('.results-date-slider__item--active'); prevSliderSelected?.classList?.remove('results-date-slider__item--active') sliderItem.classList.add('results-date-slider__item--active') } const drawProcess = (item) => { const fechaSlug = item.getAttribute('data-fecha-sluged') drawSliderSelector(item) drawResults(fechaSlug); } document.addEventListener('DOMContentLoaded', function () { const fechaReferencia = "2026-08-11" const fechaActual = new Date().toISOString().split('T')[0]; if (fechaReferencia !== fechaActual ){ const sliderItem = document.querySelector(`[data-fecha-sluged="${fechaActual}"]`) drawProcess(sliderItem); } document.querySelectorAll('.results-date-slider__item').forEach(function(sliderItem) { sliderItem.addEventListener('click', function () { drawProcess(sliderItem); }); }); });

Resultats de futbol: partits de hui en directe

Futbol

Amistós Clubes

escudo equipo local

Juventus

2

Palerm

0

Finalitzat