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

Paris Saint-Germain

Mbappé entre PSG e Real é uma das grandes novelas do esporte; lembre outras

Kylian Mbappé e a grande decisão de sua carreira: ficar no PSG ou ir para o Real Madrid - Aurelien Meunier/Getty Images
Kylian Mbappé e a grande decisão de sua carreira: ficar no PSG ou ir para o Real Madrid Imagem: Aurelien Meunier/Getty Images

Do UOL, em São Paulo

20/05/2022 12h26

Afinal, Kylian Mbappé vai ou fica no Paris Saint-Germain? A indefinição sobre o futuro do francês movimenta o mercado da bola há vários meses, ele até já enfrentou o time favorito a contratá-lo, mas até agora nada de definição. A imprensa sa publica que o camisa 7 deve anunciar sua decisão nos próximos dias.

O jogador de 23 anos tem sido especulado no Real Madrid desde o ano ado, e não sem motivo. Ele se recusou a renovação de contrato com o PSG e ficou livre para sair de graça, no mês que vem. Desde então, tem dado sinais de que quer mudar de ares: revelou que pediu para deixar seu clube; depois lançou livro reforçando desejo de defender o Real. A negociação voltou a ser assunto quente na janela de transferências de janeiro, depois esfriou com o sorteio justamente de PSG x Real Madrid nas oitavas da Champions League.

Agora não tem mais jeito: finalmente Mbappé vai decidir por PSG ou Real Madrid —ou quem sabe um terceiro clube, o que parece improvável a esta altura. A novela ficou tão longa que já é comparável a outras especulações históricas do esporte. O UOL Esporte relembra algumas abaixo.

Bebeto e o chapéu do Vasco

Bebeto, ex-atacante do Vasco da Gama - Reprodução - Reprodução
Imagem: Reprodução

Bebeto era cria do Flamengo e havia marcado o gol do título brasileiro em 1987, mas um desacerto sobre salários o deixou descontente a ponto de ir para o Vasco da Gama. O presidente rubro-negro da época diz que o pedido do atacante era alto de mais, já Bebeto argumenta que não foi bem assim, que nunca quis sair, mas se sentiu desvalorizado e aceitou a transferência. Ele chegou a se arrepender dias depois, mas já era tarde, e até hoje tem flamenguista irritado com isso até hoje.

Luís Figo e a traição ao Barça

Luis Figo em sua apresentação como camisa 10 do Real Madrid, em 2000 - Reprodução - Reprodução
Imagem: Reprodução

O português havia chegado ao Barcelona como uma oportunidade de mercado, foi escudeiro de Ronaldo e Rivaldo e tornou-se um dos melhores do mundo, mas em 2000 foi jogar justamente no maior rival, o Real Madrid. Foi o golpe de mestre do então candidato à presidência Florentino Pérez, que amarrou um contrato inovador: se fosse eleito, Figo mudava de clube; se não fosse, pagava alguns milhões ao jogador e tudo ficava por isso mesmo. Se Figo desistisse, teia que pagar multa de 22 milhões de euros. Foi este acordo que permitiu a Pérez prometer a contratação do craque durante a campanha, o que impulsionou suas chances. Semanas depois, após muita especulação, ele foi eleito e Figo, contratado. O sorriso amarelo do jogador em sua apresentação diz muita coisa.

Nilmar é ou não do Corinthians?

Nilmar é apresentado pelo Corinthians em 2005 - Fernando Santos/Folha Imagem - Fernando Santos/Folha Imagem
Imagem: Fernando Santos/Folha Imagem

Campeão brasileiro em 2005, Nilmar era muito querido pela torcida do Corinthians e foi contratado em definitivo junto ao Lyon (FRA), no ano seguinte. Acontece que o clube não pagou uma parcela, e a situação virou um imbróglio daqueles, com envolvimento da Justiça do Trabalho e da Fifa. Também criou uma crise interna entre o clube e a MSI: o técnico Leão botou a culpa em Kia Joorabchian, que rebateu dizendo que o treinador não sabia trabalhar com estrelas. Depois de duas lesões no joelho, o atacante saiu de graça para voltar ao Internacional em 2007. Após decisão da Fifa, o Corinthians teve que se virar para pagar os ses.

LeBron James e a decisão ao vivo

Em 2010, LeBron James decidiu o futuro de sua carreira na NBA em programa de TV - Larry Busacca/Getty Images - Larry Busacca/Getty Images
Imagem: Larry Busacca/Getty Images

O astro da NBA levou as negociações a outro nível em 2010, quando estava livre no mercado após sete anos de Cleveland Cavaliers. Foram meses de especulação. Ele ouviu propostas de seis times e anunciou sua decisão na televisão, ao vivo: o Miami Heat. "Vou levar meus talentos para South Beach", afirmou, em frase que virou bordão nos EUA. No novo time ele chegou a quatro finais e venceu duas.

O que fazer com Pato?

Alexandre Pato se lamenta durante a partida entre Corinthians e Atlético-MG - Alan Morici/Brazil Photo Press/LatinContent/Getty Images - Alan Morici/Brazil Photo Press/LatinContent/Getty Images
Imagem: Alan Morici/Brazil Photo Press/LatinContent/Getty Images

A chegada de Alexandre Pato ao Corinthians não chegou a ser uma novela —foi até surpreendente para muita gente. A saída, no entanto, se arrastou por anos. O atacante havia sido contratado em janeiro de 2013 por R$ 40 milhões, mas em um ano a aposta já se mostrava errada. Ele foi envolvido em uma troca por empréstimo com o São Paulo, por Jadson, depois foi emprestado ao Chelsea, onde praticamente não jogou, e por fim vendido ao Villarreal em 2016. Além dos mais de R$ 60 milhões de prejuízo ao Corinthians, Pato também custou a paciência de muitos torcedores, afinal cada uma das negociações foi uma

As duas novelas de Arrascaeta

Arrascaeta durante partida do Flamengo contra o Bangu pelo Campeonato Carioca - Jorge Rodrigues/AGIF - Jorge Rodrigues/AGIF
Imagem: Jorge Rodrigues/AGIF

"Agora eu sou Mengão", anunciou Arrascaeta em janeiro de 2019, após semanas de negociação e ausências seguidas a treinos do Cruzeiro. O meia se irritou com o vazamento de seu número de telefone e se sentiu intimidado pela diretoria celeste, que fez jogo duro para liberá-lo. No fim, o uruguaio custou 15 milhões de euros ao Flamengo e virou a maior compra da história do futebol brasileiro. Ele ainda seria protagonista de uma segunda novela no Fla, a da renovação, que só terminou em janeiro deste ano, com um novo contrato até dezembro de 2026.

Em qual time Mbappé vai jogar na próxima temporada?

Resultado parcial

Total de 41 votos