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

Três títulos, garotos e sotaque: Dudu reencontra um Palmeiras bem diferente

Dudu em ação pelo Palmeiras contra a Inter de Limeira - Thiago Calil/AGIF
Dudu em ação pelo Palmeiras contra a Inter de Limeira Imagem: Thiago Calil/AGIF

Diego Iwata Lima

De São Paulo

01/07/2021 04h00

O Palmeiras era algo completamente diferente quando Dudu, talvez o jogador mais emblemático do clube desde 2015, deixou São Paulo rumo a Doha, em julho de 2020, para jogar pelo Al-Duhail (CAT). E as diferenças são ainda maiores quando a comparação é feito com o time do último jogo dele pelo Alviverde. O jogador se reapresenta hoje ao clube alviverde após ar uma temporada no futebol do pequeno emirado árabe.

Comandado por Vanderlei Luxemburgo, o Palmeiras da última partida de Dudu pelo clube foi também a última formação a atuar diante de público, antes que as precauções devido à pandemia de covid-19 tirassem os torcedores dos estádios brasileiros.

Foi contra a Inter de Limeira, no Estádio Major Levy Sobrinho, em 14 de março do ano ado, que Weverton, Marcos Rocha, Felipe Melo, Vitor Hugo e Viña; Ramires, Bruno Henrique e o próprio Dudu, além de Willian, Rony e Luiz Adriano, no ataque, perfilaram o último time do então camisa 7 como jogador do Palmeiras até o momento —Patrick de Paula, Zé Rafael e Lucas Lima entraram no decorrer do jogo.

Dos 14 que começaram a partida, três deixaram o clube. Vitor Hugo foi para o turco Trabzonspor. Ramires rescindiu o contrato após ser flagrado furando o isolamento. E Bruno Henrique foi negociado com o Al-Ittihad, da Arábia Saudita.

Camisa 7 não conquistou o Paulista no campo

Depois daquela rodada, muito por pressão da diretoria do Palmeiras, o futebol no Estado de São Paulo foi suspenso, permanecendo assim até 22 de julho —dois dias depois de o Palmeiras anunciar o empréstimo de um ano de Dudu ao Al-Duhail por 7 milhões de euros, com opção de compra de 80% dos direitos econômicos por mais 6 milhões, para maio de 2021.

Assim, além de não enfrentar o Corinthians no primeiro jogo da retomada do futebol, Dudu não esteve em campo quando o Alviverde venceu o mesmo arquirrival nos pênaltis, em 8 de agosto, para levantar o troféu e quebrar um jejum de 13 anos sem estaduais.

Vanderlei disse adeus e São Paulo quebrou tabu

Foi de longe que Dudu também viu Vanderlei Luxemburgo se despedir do Palmeiras em 14 de outubro, após derrota por 3 a 1 para o Coritiba no Allianz Parque, já pelo Campeonato Brasileiro.

Tampouco viu cair tabu de jamais perder para o São Paulo no seu estádio quatro dias antes —1 a 0, gol de Pablo.

Abel chegou ao clube, Rony desencantou e garotos se firmaram

Quando Dudu ainda era jogador do Palmeiras, Gabriel Menino, Patrick de Paula, Gabriel Veron, Danilo e Wesley eram meras promessas. Danilo e Wesley ainda nem tinham estreado pelos profissionais do clube, inclusive.

Em 2 de novembro, Abel Ferreira chegou ao Palmeiras para substituir o interino Cebola, e ali começou a agem vitoriosa que o levaria às conquistas da Copa do Brasil e principalmente da Libertadores.

Rony também não tinha feito um gol sequer pelo Alviverde enquanto Dudu ainda estava no clube. Breno Lopes, que faria o gol do título na Libertadores em janeiro de 2020, ainda não havia nem sido contratado.

E a Copa do Brasil de 2015, na qual Dudu foi o protagonista, aliás, ainda era a mais recente a ser conquistada pelo Palmeiras.

Dudu vai conquistar espaço?

Embora não se descarte uma negociação futura, Dudu tende mesmo a seguir no Palmeiras. E por sua qualidade, deve conseguir um espaço entre os titulares de Abel Ferreira.

Mas o técnico já procurou deixar claro que quer Dudu entendendo fazer parte de um grupo em que não há espaço para uma estrela maior que os demais, como era na época em que ele era o craque isolado do time.

Indagado sobre as voltas de Dudu e Pedrão, que já se apresentam nesta quinta (1º), e Borja, que deve retornar ao clube após a Copa América, o português foi assertivo:

"Ainda não vi nenhum deles na Academia [de Futebol]. No Palmeiras, recebemos bem todos os jogadores que estão no clube. Se vierem para trabalhar com a equipe, se perceberem que a estrela é a equipe, podem nos ajudar muito com a qualidade que têm", afirmou ele, após a vitória sobre o Internacional.