;(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

Milton Neves

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Abel estava certo quando dizia que Endrick tinha que ir para a Disney

Endrick, do Palmeiras, em jogo contra o Santos pelo Paulistão - MARCELLO ZAMBRANA/AGIF - AGÊNCIA DE FOTOGRAFIA/ESTADÃO CONTEÚDO
Endrick, do Palmeiras, em jogo contra o Santos pelo Paulistão Imagem: MARCELLO ZAMBRANA/AGIF - AGÊNCIA DE FOTOGRAFIA/ESTADÃO CONTEÚDO

23/02/2023 15h45

Receba os novos posts desta coluna no seu e-mail

Email inválido

Por Lucas Reis, da Redação do Portal Terceiro Tempo*

Antes de qualquer coisa, aos desavidados e leitores apenas de manchetes, que fique claro: esse texto não é uma crítica ao jovem Endrick ou uma ironia ao futeboldo jogador. É apenas um "pedido" de calma! Vamos lá:

Por muito tempo, o técnico Abel Ferreira foi alvo de. Muito pressão no Palmeiras para promover Endrick ao time profissional e dar oportunidades ao jovem atacante que se mostrou um fenômeno na base alviverde.

Uma frase do treinador antes do Mundial de Clubes de 2022 foi muito marcante: "o clube dar uma agem para ele e a família para a Disneylândia é o melhor que vai fazer seguramente para ele continuar a brincar", disse Abel em 23 de janeiro de 2022 a descartar levar o menino, então com 15 anos, para o Mundial.

Pois o tempo mostrou que Abel estava absolutamente certo!

Ao estrear no profissional do Palmeiras em outubro de 2022, com apenas 16 anos, Endrick queimou uma série de etapas em sua formação como jogador. O normal, na melhor das hipóteses, seria que ele ficasse no sub-20 pelo menos até os 18 anos. Certamente disputaria ao menos mais três Copinhas e Campeonatos Brasileiros da categoria.

Ao invés disso, o garoto estava brigando no meio de defensores que (forçando um pouquinho a barra), poderiam ser seu pai.

É verdade que logo vieram os gols. E foram três na reta final do Brasileirão, numa amostra de que de fato tem bola para corresponder à expectativas despejadas sobre seus ombros.

Mas começou 2023 e os gols sumiram.

E a explicação é simples: embora tenha impressionado na base, tenha conquistado tudo no sub-17 e sub-20, tenha subido ao profissional, feito gols e chegando a ser vendido ao Real Madrid por cifras impressionantes, ENDRICK TEM APENAS 16 ANOS!

Nenhum jogador no mundo em toda a história estava pronto aos 16 anos. Nem o Rei Pelé!

Em tempo em que o futebol é cada vez mais físico, queimar etapas na base para atuar no profissional é quase como migrar para outro esporte! A diferença é enorme, então é óbvio que Endrick tem sofrido.

Abel estava certo ao dizer que o jogador precisava ir para a Disney e não para o Mundial. Naquele momento o que o português dizia era que Endrick ainda era um menino. E ainda é.

Um menino lutando no meio de jogadores duros e experientes. Com 16 anos, talvez falta imposição física para sobressair e cabeça para aguentar a pressão, que não vem só da arquibancada ou da tribuna de imprensa. O próprio jogador deve estar exercendo internamente uma pressão absurda sobre si mesmo.

Isso porque, repito, ele é só um menino!

Nenhuma análise definitiva deve ser feita em cima de um jogador de 16 anos e com menos de seis meses de profissional!

*Lucas Reis integra a equipe do Portal Terceiro Tempo desde julho de 2019