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

Palmeiras

Como Palmeiras fez para ter Luiz Adriano decisivo e dar voz a Abel em campo

Luiz Adriano e Abel Ferreira conversam durante o treino do Palmeiras, na Academia de Futebol - Cesar Greco
Luiz Adriano e Abel Ferreira conversam durante o treino do Palmeiras, na Academia de Futebol Imagem: Cesar Greco

Thiago Ferri

Do UOL, em São Paulo

08/01/2021 04h00

Artilheiro da temporada com 18 gols, Luiz Adriano voltou após uma lesão na coxa esquerda e comprovou o peso que tem em decisões no Palmeiras. Autor do gol na final do Paulistão contra o Corinthians, o camisa 10 foi às redes também na semifinal da Copa do Brasil, contra o América-MG, e agora na semi da Libertadores, contra o River Plate (ARG). Depois dos problemas físicos no fim de 2020, ele tem uma minutagem controlada para chegar bem à reta final desta temporada.

O clube faz um controle individualizado de carga de trabalho para todos os atletas. Assim, consegue monitorar aqueles que correm mais riscos de sofrer uma lesão por fadiga — em agosto, o Palmeiras, inclusive, investiu em equipamentos que aperfeiçoam esta avaliação. Luiz Adriano, consequentemente, tem uma rotina de treinos feita especialmente para ele no dia a dia.

Em setembro, o centroavante começou a sentir um incômodo na coxa esquerda, que o tirou de cinco partidas no fim da agem de Vanderlei Luxemburgo. Com Abel Ferreira, Luiz Adriano teve uma sobrecarga na mesma coxa e acabou a lesionando depois de ser poupado por duas partidas.

Foram oito jogos fora do time, em tratamento, até o retorno para os duelos de mata-mata e atuações que empolgaram o português. Nas últimas três vezes que foi a campo, Luiz marcou contra o Red Bull Bragantino, pelo Brasileirão, além de América-MG e River.

Desde a chegada da atual comissão técnica, o Palmeiras fez 18 jogos (13 vitórias, três empates e duas derrotas), e o goleador esteve em campo em oito, sendo cinco como titular. Nenhum dos jogos que começou, porém, ele terminou. A última vez que atuou por 90 minutos foi no empate por 1 a 1 com o Flamengo, em setembro, sob o comando de Luxemburgo. Desde então, o Palmeiras fez 28 partidas.

Pronto para as decisões

O período de recuperação da última lesão calhou com a chegada das duas semifinais. E tanto contra o América-MG quanto diante do River, Luiz fez partidas sem grande movimentação, mas foi decisivo quando teve chance: na Copa do Brasil, abriu o placar em um chute fraco e muito bem colocado — Rony confirmou a vitória por 2 a 0, no estádio Independência, minutos depois. Ele foi substituído por Mayke, aos 35 minutos da etapa final, inclusive caindo no gramado antes de sair, mas apenas para ganhar tempo.

Diante do River, mostrou explosão ao girar no meio-campo e carregar sem ser alcançado até a área e fazer o segundo na vitória por 3 a 0 da última terça (5). Luiz deu lugar a Willian, aos 32 do segundo tempo, quando o placar já estava definido.

"O Danilo falou que ia tocar de primeira [no lance do gol], o zagueiro tentou me antecipar, eu consegui fazer um grande giro em cima e só foi continuar a arrancada para concluir a gol", contou à TV Palmeiras.

Decisivo, o jogador de 33 anos tem importância grande no Palmeiras, já que é o único centroavante de ofício — Willian, reserva imediato, não tem as mesmas características do titular. Há, ainda, a influência como líder em um grupo jovem. Ele foi comparado a um treinador em campo pelo próprio Abel Ferreira, pelas orientações que ou contra o River.

"Usamos uma mistura de experiência e juventude. Temos o Luiz Adriano, que nos deu segurança e foi um treinador em campo, na defesa tem o [Gustavo] Gómez e o [Marcos] Rocha atrás. Fomos uma equipe fiel aos princípios", disse Abel, depois da vitória sobre o River Plate.

Com 18 gols em 44 jogos na temporada, Luiz está em busca da marca de Gabriel Jesus, que em 2016 fez 21 gols e foi o goleador alviverde. Desde então, nenhum outro atacante teve um ano como o do atual jogador do Manchester City (ING). Willian fez 17 gols em 2017, Borja, 20 em 2018, enquanto Dudu e Gustavo Scarpa tiveram 13 cada um na temporada de 2019.

Palmeiras