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

Paquetá defende Neymar de críticas na França: 'É até desrespeitoso'

Paquetá e Neymar comemoram gol na seleção em jogo de novembro de 2021 - Lucas Figueiredo/CBF
Paquetá e Neymar comemoram gol na seleção em jogo de novembro de 2021 Imagem: Lucas Figueiredo/CBF

Gabriel Carneiro e Igor Siqueira

Do UOL, em São Paulo e Teresópolis

22/03/2022 14h04

As acusações de um jornalista francês de que Neymar chega para treinar no Paris Saint-Germain "em um estado lamentável, no limite da embriaguez" repercutiram hoje (22) dentro da seleção brasileira. O meio-campista Lucas Paquetá saiu em defesa do companheiro em entrevista coletiva na Granja Comary, em Teresópolis.

"Eu acho que isso é até desrespeitoso em se falar, em transmitir informações que não são verdadeiras. Ele [Neymar] obviamente não comentou isso, acredito que não seja verdade. Mas as pessoas falam demais e isso acaba nos afetando de certa forma, um pouco. É difícil filtrar. Mas eu vou te dar um exemplo: falaram que era o Homem-Aranha na minha casa (risos). Então você não pode acreditar no que as pessoas falam e colocar isso como certeza num atleta. Tem muitas coisas que envolvem o atleta e o Neymar é profissional, acredito que ele não tenha feito isso", disse Paquetá, que atualmente também joga no futebol francês, mas pelo Lyon.

As declarações que Paquetá considera desrespeitosas sobre Neymar foram de Daniel Riolo, jornalista da "RMC Sport" (uma das principais redes especializadas em cobertura esportiva na França). O tema da discussão era a suposta pouca dedicação de Neymar nos treinos e no dia a dia de trabalho.

"Neymar quase não treina, chega em um estado lamentável, no limite da embriaguez. Neymar está em um espírito de revanche com o PSG, há uma ruptura total entre o clube e o vestiário", disse o jornalista ao vivo. Riolo tem um histórico de críticas ao brasileiro, o que aumentou também entre torcedores do PSG após a eliminação na Liga dos Campeões para o Real Madrid.

O UOL Esporte procurou a assessoria de Neymar, que não respondeu aos comentários de Riolo até o momento.

Na seleção, Neymar volta depois de três partidas fora por lesão e fica à disposição para enfrentar o Chile na quinta-feira (24) e a Bolívia na terça-feira da próxima semana. São as duas rodadas finais das Eliminatórias da Copa do Mundo do Qatar. Segundo Paquetá, é sorte da seleção brasileira poder contar com seu camisa 10 de volta.

"Você vai sempre escutar da minha boca que o Neymar acima de tudo é uma grande pessoa, um grande profissional, que tem um talento incrível e sem dúvidas é o nosso melhor jogador da seleção brasileira. Tê-lo do lado é um privilégio. Eu particularmente quando tenho Neymar do meu lado me sinto muito mais forte, assim como todos os companheiros. Ele também sente isso quando está na seleção. A gente se motiva mais, se abraça mais e isso nos torna mais fortes. A cobrança existe independente de momento. O PSG foi eliminado e é claro que torcedores e imprensa vão cobrar relacionado a isso, mas acredito que ele vem se recuperando de lesão e ficando cada vez mais forte para nos ajudar na seleção e vai fazer isso muito bem."