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

Mercado da Bola

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Por que Casemiro decidiu trocar Real Madrid por Manchester United

Casemiro decidiu trocar o Real Madrid pelo Manchester United -  Angel Martinez/Getty Images
Casemiro decidiu trocar o Real Madrid pelo Manchester United Imagem: Angel Martinez/Getty Images

Colunista do UOL

19/08/2022 18h47

Buscar um novo desafio, jogar na Premier League e antecipar um movimento de mercado com rendimento em alta, além de um contrato milionário. Casemiro decidiu trocar o Real Madrid pelo Manchester United por esses e outros motivos.

A vontade do brasileiro de sair externada publicamente pelo técnico Carlo Ancelotti foi fundamental nos bastidores. Há praticamente um ano, em agosto de 2021, o Real Madrid renovou o contrato de Casemiro até 2025.

Não havia, portanto, nenhum desejo do clube espanhol em negociar seu ídolo. Por isso mesmo sondagens em outras janelas de transferências nunca evoluíram.

O PSG, por exemplo, tentou se aproximar em outras oportunidades e novamente agora, mas a relação entre os clubes espanhol e francês é ruim, também por causa da recente novela Mbappé.

Dessa vez, no entanto, diante do interesse do Manchester United, Casemiro sinalizou ao Real Madrid seu desejo de sair. Cinco vezes campeão da Liga dos Campeões e três vezes da La Liga, o brasileiro sentia que tentar repetir esses títulos seria "mais do mesmo".

Descartado o rival Barcelona, Casemiro enxerga no Manchester United um dos poucos clubes no mundo de grandeza similar à do Real para fazer essa troca, apesar do momento ruim dos Red Devils.

A saída após nove anos com mais uma temporada vitoriosa, titular e em alta dá a Casemiro caminho diferente do também ídolo Marcelo, maior vencedor da história merengue e cuja agem terminou junto do seu contrato.

Justamente por essa história construída no clube, o Real Madrid respeitou o desejo de Casemiro, mas ao mesmo tempo buscou o melhor negócio financeiramente.

Segundo a imprensa britânica, serão pagos 60 milhões de libras (R$ 366,9 milhões) fixos mais 10 milhões de libras (R$ 61,1 milhões) em bônus por metas, o que poderia totalizar o pacote de 70 milhões de libras (R$ 428 milhões).

Do ponto de vista da seleção brasileira e de uma vaga na Copa do Mundo no Qatar a transferência não deve ter grandes consequências para Casemiro.

Pela primeira vez desde o início da carreira, ele chegará a um novo clube com status de astro e grande contratação. Em 2013, Casemiro foi emprestado pelo São Paulo ao Real Madrid, começou no time B e depois foi cedido ao Porto para, então, retornar e iniciar uma era de sucesso encerrada agora em 2022. O triângulo das bermudas Modric, Kroos e Casemiro não terá mais um dos seus pilares.