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

Lenda alemã diz que Neymar precisa jogar bola e não fazer teatro

Lotthar Matthaus, ex-meio campista e lenda do futebol alemão - Julio Gomes/UOL Esporte
Lotthar Matthaus, ex-meio campista e lenda do futebol alemão Imagem: Julio Gomes/UOL Esporte

Julio Gomes e Diego Garcia, especial para o UOL, em Doha (Qatar)

21/11/2022 14h38

Classificação e Jogos

Lothar Matthaeus já não tem papas na língua há algum tempo. O ex-jogador alemão, campeão do mundo em 90, hoje comentarista de TV, voltou a ser enfático quando questionado sobre a possibilidade de Neymar ser uma das estrelas da Copa do Mundo do Qatar.

"Em 2018, ele só se jogava. Ele pode ajudar o time se não ficar se jogando. Ele tem que jogar bola, ele é excelente, a qualidade dele tem de ajudar o time,. Quero vê-lo jogando bola, para que ficar fazendo teatro? Por favor!", opinou Matthaeus ao UOL, em conversa reservada com um grupo de dez jornalistas internacionais.

"Com um time bom, ele pode fazer a qualidade aparecer. Mas para ser o melhor jogador você tem de jogar para o time e, aí sim, você se destaca. O Brasil é um dos favoritos ao lado da Argentina, Neymar tem um bom time ao lado. Mas precisa jogar para o time, não para ele", acrescentou. "O mesmo vale para Vinícius Jr, que é um grande jogador. Tem que jogar, o resto deixa para lá".

Matthaeus mostrou-se mais animado quando falou de outro jogador, o jovem Musiala, da Alemanha. "Ele pode ser o Messi no futuro. Tem só 19 anos e está muito focado, já sou fã dele há uns dois anos. Ele sabe o que tem que fazer, como fazer a diferença com a esperteza dele. Ele ama o futebol."

O alemão lembrou-se de quando era técnico da Hungria e participou da estreia de Messi com a camisa da Argentina, um amistoso em Budapeste, em 2005. Curiosamente, Messi foi expulso dois minutos depois de ter entrado em campo - um dos três cartões vermelhos da carreira dele. "Eu estava lá, vi Messi com 18 anos. Musiala me lembra muito Messi". Em outro momento "argentino" da conversa, lhe foi mostrada por um jornalista uma foto de Matthaeus e Maradona em campo na final da Copa de 1986.

"Eu sinto falta de Diego. Eu sinto saudades dele, nos encontramos na última Copa do Mundo. Competimos nas seleções e também na Itália, eu na Inter e ele no Napoli. O mundo do futebol sente saudades dele, são grandes memórias."

Por fim, novamente questionado pelo UOL, o alemão lembrou-se do curto período como treinador do Athletico-PR, em 2006. Foram seis vitórias e dois empates que precederam uma espécie de "fuga". A mulher dele exigiu a volta imediata para a Alemanha - quem cobria o clube na época garante que ela teria descoberto um caso de adultério.

"Às vezes erramos na vida, eu claramente cometi um erro ao deixar o Athletico após dois meses. Eu gosto do clube, sempre acompanho, vejo que partidas vão jogar".

A reportagem perguntou se ele assistiu à partida final da Libertadores, entre Athletico e Flamengo, e ele disse que não - sem parecer saber muito do que se tratava.