;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Números do início de Endrick superam Vini Jr e se aproximam de Neymar; veja

Endrick lamenta atuação pelo Palmeiras contra o Red Bull Bragantino - Marcello Zambrana/AGIF
Endrick lamenta atuação pelo Palmeiras contra o Red Bull Bragantino Imagem: Marcello Zambrana/AGIF

Do UOL, em Santos (SP)

26/02/2023 04h00

Endrick chorou no banco de reservas após mais uma partida sem marcar gols pelo Palmeiras. Aos 16 anos, o centroavante ainda não balançou as redes nesta temporada.

Mas será que seus números são ruins em comparação com outras promessas que despontaram nos últimos anos no Brasil com status parecidos com o dele? O UOL levantou os dados dos 17 primeiros jogos de outros "fenômenos" para fazer essa comparação.

Endrick x 'a rapa'

  • O atacante do Palmeiras tem média de um gol a cada 310 minutos. Foram 17 jogos como profissional, com três gols marcados e uma assistência. Endrick somou 932 minutos em campo e também deu uma assistência, chegando a uma média de 233 minutos para uma participação direta em gol.
  • Neymar tinha média um pouco melhor em gols marcados: um a cada 295 minutos. O então "Menino Ney" somou quatro gols e cinco assistências no mesmo intervalo de jogos, mas em 1181 minutos. Em participações diretas em gol, a média melhora: uma a cada 131 minutos.
  • Vini Jr fica atrás de Endrick no quesito gols: o atual jogador do Real Madrid marcou apenas uma vez e 430 minutos somados. O atacante revelado pelo Flamengo teve também uma assistência, o que o deixa com média melhor do que o palmeirense em participações diretas: uma a cada 215 minutos.
  • Vitor Roque lidera artilharia da relação: média de uma bola na rede a cada 128 minutos em campo. Foram seis tentos e uma assistências em 771 minutos nos primeiros 17 jogos.
  • Gabriel Jesus vem logo atrás: um gol a cada 129 minutos. Também revelado pelo Palmeiras, ele somou cinco gols e uma assistência nos primeiros 17 jogos e em menos minutos do que Endrick: 649 contra 932.
  • Rodrygo, Alexandre Pato e Gabigol ficam à frente de Endrick, Neymar e Vini Jr, completando a relação analisada. O atacante do Real Madrid marcou quatro vezes, com média de um gol a cada 155 minutos. O ex-Internacional colocou seis bolas nas redes em 1106 minutos: um a cada 184 minutos. Gabigol teve média de um tento a cada 202 minutos, marcando quatro vezes no intervalo e ainda dando uma assistência.

Como está a temporada de Endrick

  • O jovem iniciou a temporada com o status de titular do time de Abel Ferreira. Mesmo com apenas 16 anos, ele desbancou as recentes contratações para o setor, o argentino Flaco López e o uruguaio Miguel Merentiel.
  • Endrick está em jejum há dez jogos. O "fenômeno" do Verdão não marcou, nem deu assistência ainda nesta temporada.
  • No ano ado, Endrick havia marcado três vezes e dado uma assistência em sete partidas. O desempenho o credenciou para ganhar a confiança de Abel neste ano.