Os 20 melhores momentos da primeira rodada da Copa

` : ”;
return `

${iconHtml}

${s.value || ”}

${s.label || ”}

`;
}).join(”);

heroFirstItem.innerHTML = `

${firstItem.id}.

${firstItem.name || ”}

${firstItem.textTop ? `

${firstItem.textTop}

` : ”}

${firstItem.img ? “ : ”}

${firstItem.textBottom ? `

${firstItem.textBottom}

` : ”}

${visibleStats.length ? `

${statsHtml}

` : ”}
`;
} else {
heroFirstItem.style.display = ‘none’;
}
}

// Build article items
data.items.forEach((d, index) => {
const nextDriver = data.items[index + 1];
const nextId = nextDriver ? nextDriver.id : null;

// Nav button
const btn = document.createElement(‘button’);
btn.className=”scores-nav-button”;
btn.textContent = d.id;
btn.dataset.articleId = String(d.id);
btn.onclick = () => scrollToSection(d.id);
nav.appendChild(btn);

// ToC entry
const tocBtn = document.createElement(‘button’);
tocBtn.style=”display:block; width:100%; text-align:left; padding:12px; margin-bottom:8px; border:none; background:var(–soft); cursor:pointer; border-radius:12px; font-weight:700; color:var(–text);”;
tocBtn.textContent = `${d.id}. ${d.name}`;
tocBtn.onclick = () => { scrollToSection(d.id); toggleToC(false); };
tocList.appendChild(tocBtn);

if (index === 0) return;

// Stats HTML
const visibleStats = (d.stats || []).filter(s => s && (
String(s.icon || ”).trim() ||
String(s.value || ”).trim() ||
String(s.label || ”).trim()
));

const statsHtml = visibleStats.map(s => {
const hasIcon = Boolean(String(s.icon || ”).trim());
const iconHtml = hasIcon ? `

${s.label || ''}

` : ”;

return `

${iconHtml}

${s.value || ”}

${s.label || ”}

`;
}).join(”);

// Card
const sect = document.createElement(‘section’);
sect.className=”scores-section-shell”;
sect.id = `article-item-${d.id}`;
sect.innerHTML = `

${d.textTop}

${d.img ? `

${d.name}

` : ”}

${d.textBottom}

${visibleStats.length ? `

${statsHtml}

` : ”}
${nextId ? `` : ”}

`;
sections.appendChild(sect);
});

// ToC controls
function toggleToC(open) {
document.getElementById(‘js-toc-drawer’).classList.toggle(‘is-open’, open);
document.getElementById(‘js-toc-overlay’).classList.toggle(‘is-open’, open);
}
document.getElementById(‘js-toc-open’).onclick = () => toggleToC(true);
document.getElementById(‘js-toc-close’).onclick = () => toggleToC(false);
document.getElementById(‘js-toc-overlay’).onclick = () => toggleToC(false);
document.getElementById(‘js-start’).onclick = () => { if (data.items.length > 1) scrollToSection(data.items[1].id); else if (data.items.length) scrollToSection(data.items[0].id); };

// Active nav highlight for manual scrolling only. Clicks set the active state immediately.
const observer = new IntersectionObserver((entries) => {
if (scoresProgrammaticScroll) return;

entries.forEach(entry => {
if (entry.isIntersecting) {
const id = entry.target.id.replace(‘article-item-‘, ”);
setActiveNavButton(id);
}
});
}, { rootMargin: ‘-20% 0px -70% 0px’ });

const observedHero = document.querySelector(‘.scores-hero[id^=”article-item-“]’);
if (observedHero) observer.observe(observedHero);
document.querySelectorAll(‘.scores-section-shell’).forEach(s => observer.observe(s));
});

Últimas

Hulk descarta vantagem do Fluminense na Libertadores

Hulk não quer que o Fluminense se acomode com...

Corinthians amplia da Arena capacidade para jogo na Liberta

O Corinthians aumentou a capacidade da Neo Química Arena...

Vasco x Santa Fe: análise, horário e escalações

Vasco e Santa Fe se enfrentam nesta terça-feira (15),...

Platense x Fluminense: onde assistir, horário e escalações

Platense e Fluminense se enfrentam na terça-feira (15), às...

Atualizações

Em alta

Cristiano Ronaldo indica aposentadoria do futebol

Prestetes a completar 41 anos, Cristiano Ronaldo soltou uma...

Górnik Zabrze x Monaco: onde assistir ao jogo e escalações

Gornik Zabrze e Monaco entram em campo nesta quinta-feira...

Palpite: Man Utd vs Leeds – 13/04/26 – Premier League

O Manchester United recebe o Leeds United em Old...

Müller, Hummels e Sommer compram Estrela da Amadora por 40M€

O futebol português volta a atrair grande investimento estrangeiro,...

Antevisão: Atlético Madrid vs Barcelona – 14/04/26 – Onde ver e onzes prováveis

Home Mais recentes Antevisão: Atlético Madrid vs...

Hulk descarta vantagem do Fluminense na Libertadores

Hulk não quer que o Fluminense se acomode com a vantagem construída no jogo de ida das quartas de final da Libertadores contra o...

Corinthians amplia da Arena capacidade para jogo na Liberta

O Corinthians aumentou a capacidade da Neo Química Arena para o jogo decisivo contra o Estudiantes, pelas quartas de final da Libertadores. O setor...

Vasco x Santa Fe: análise, horário e escalações

Vasco e Santa Fe se enfrentam nesta terça-feira (15), às 19h (de Brasília), pelo jogo de volta das quartas de final da Sul-Americana. O...

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui