;(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
OPINIÃO

Daniel Alves poderia ter tirado Pedro da Copa do Mundo, critica RMP

Colaboração para o UOL, em Aracaju

15/11/2022 20h06Atualizada em 16/11/2022 11h21

Classificação e Jogos

No segundo dia de treinos da seleção brasileira na Itália, a nove dias da estreia na Copa do Mundo do Qatar, um carrinho por trás de Daniel Alves em Pedro causou polêmica. O lance logo viralizou nas redes sociais e gerou questionamentos sobre a intensidade do lance.

No Esquenta da Copa, transmitido pelo UOL Esporte todos os dias desta semana às 19h, o colunista Renato Maurício Prado detonou a entrada de Daniel Alves no atacante do Flamengo (veja abaixo). Segundo ele, o jogador de 39 anos pode representar um risco para a seleção brasileira no Qatar.

"É um perigo jogar com o Daniel Alves, não marca mais ninguém, ainda que o Tite vá usá-lo como lateral construtor, alguém tem que tomar conta da casinha na direita. O Daniel Alves já foi um grande jogador, mas vimos pela agem no São Paulo que a média dele hoje é fraca, foi para o Barcelona e o Xavi não quis ficar com ele, foi para o Pumas e não se destacou, acho um risco muito grande colocar o Daniel Alves em um jogo da seleção."

"Daniel Alves não tinha nem que estar lá, imagina se ele tira o Pedro da Copa, uma entrada dessa é capaz de tirar o Pedro da Copa, se tivesse com o pé fixado poderia dar uma entorse no tornozelo. A sensação que tenho é que todo mundo sabe que Dani Alves vai para ser reserva, menos ele, se tivesse VAR, ele seria expulso", acrescentou RMP.

Segundo Menon, a entrada de Daniel Alves em Pedro foi para cartão vermelho. Além de criticar o lance, ele contestou a liderança positiva do lateral para a seleção brasileira.

"Era entrada para vermelho, e acho curioso que tudo o que o Tite faz o pessoal defende, mas repudio o argumento que o Daniel Alves tem muita liderança. Ele é muito vencedor, mas é meio bobo alegre, é um cara muito engraçadinho, no PSG aquela coisa de tirar a bola do Cavani para o Neymar bater o pênalti achei aquilo tão infantil, primário, se comportou como 'parça' do Neymar. Sempre achei o Daniel meio bobo alegre", opinou Menon.

"Se ele for bem na Copa será uma redenção, uma surpresa muito grande, mas ele pode entrar algum jogo, se for contra um time fraco pode até dar certo, mas é um perigo porque ele não tem mais fôlego para marcar e em um lance pode ocasionar um gol do adversário", acrescentou.

Daniel Alves dá carrinho por trás em Pedro durante treino da seleção brasileira na Itália - Chris Ricco/Getty Images - Chris Ricco/Getty Images
Daniel Alves dá carrinho por trás em Pedro durante treino da seleção brasileira na Itália
Imagem: Chris Ricco/Getty Images

Por falar em Neymar, na opinião de Renato Maurício Prado, a proximidade com o craque brasileiro foi um dos fatores preponderantes para a convocação de Daniel Alves, que está há cerca de dois meses sem atuar profissionalmente. O jornalista também questionou a suposta liderança do lateral.

"Ele só está na copa porque é 'parça' do Neymar, que disse que pro Tite: 'Leva, leva, ele vai ajudar'. Onde o Daniel Alves foi líder? No São Paulo não foi, no Barcelona nunca foi, no PSG líder nunca foi", afirmou RMP.