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

Menon

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

A humilhante demissão do Menino Ney, de Rei de Paris a jogador descartável

Neymar em ação durante PSG x Lens, jogo válido pelo Campeonato Francês - Christian Hartmann/Reuters
Neymar em ação durante PSG x Lens, jogo válido pelo Campeonato Francês Imagem: Christian Hartmann/Reuters

28/06/2022 15h18Atualizada em 01/07/2022 16h14

Em 2017, o PSG pagou 222 milhões de euros ao Barcelona para ter Neymar. E, em troca, subir vários degraus e se transformar em um time global. Um vencedor da Liga dos Campeões.

Em 2022, o clube adiantou ao pai do jogador que não tem mais interesse em contar com ele, mesmo havendo um contrato em vigência até 2027.

Como Neymar ganha 4 milhões de euros líquidos por mês e como o pai disse que não abre mão de um níquel dos rendimentos futuros, o PSG comunicou ao mercado que aceita emprestar o jogador e pagar parte dos salários.

Ou seja, o PSG tratou Neymar como algo emergencialmente descartável. Como o São Paulo fez com Diego Souza, por exemplo, quando ele foi cedido ao Botafogo. Pagar para não ter é melhor que pagar para ter.

Aos 30 anos e a cinco meses da Copa, é um baque forte na carreira de Neymar. Pode chegar à Copa sem contrato.

As informações acima são da matéria de Diego Torres, do El País. Ele diz também que Mbappé só aceitou continuar no PSG, recusando oferta do Real Madrid, se Neymar deixasse o clube.

É o novo rei. É quem manda. É a nova esperança do PSG, ao lado de Messi, para que o PSG, enfim, vença a Liga dos Campeões.

Neymar não foi vetado por jogar mal. Ou por estar em baixa técnica. O motivo é falta de comprometimento com o projeto e com o clube. Faltas, pouca preocupação com recuperação, Carnaval....

Neymar acreditou ser maior que o PSG. O clube ajudou esse pensamento florescer.

Agora, fez Neymar cair na real.

Fora, daqui!

Errata: este conteúdo foi atualizado
Diferentemente do que foi informado, Neymar recebe 4 milhões de euros líquidos por mês. O erro já foi corrigido

** Este texto não reflete, necessariamente, a opinião do UOL