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

Florentino Pérez quebra silêncio e fala de negociação frustrada com Mbappé

Florentino Pérez, presidente do Real Madrid - A. Ware/NurPhoto via Getty Images
Florentino Pérez, presidente do Real Madrid Imagem: A. Ware/NurPhoto via Getty Images

Esporte News Mundo ([email protected])

16/06/2022 08h00

Após o título da Liga dos Campeões, o presidente Florentino Pérez, do Real Madrid, cumpriu a sua promessa e esteve presente no programa "El Chiringuito", aonde foi entrevistado e falou de diversos temas sobre a temporada vitoriosa do Real Madrid.

O mandatário do clube merengue não fugiu nem mesmo dos questionamentos a respeito de Kylian Mbappé, que esteve próximo de acertar com o Real Madrid, mas acabou permanecendo no Paris Saint-Germain.

"O sonho dele era jogar no Real. Tentamos em agosto ado e não o deixaram sair. Ele continuou dizendo que queria jogar aqui e em 15 dias a situação mudou. Por um lado, por uma pressão política e, por outro, econômica. Também não é necessário pensar mais nisso. Ele chegou a dizer que não queria fazer um ato de patrocínio conjunto e eu fiquei chocado. O futebol é um esporte coletivo, não há ninguém que possa ser diferente", disse Florentino Pérez, também destacando os momentos em que desistiu oficialmente do atacante francês.

"A determinada altura, assumimos que não era o Mbappé que queríamos trazer, era outro. É muito jovem. A pressão afeta todo mundo e ele foi chamado pelo presidente da França, embora não faça muito sentido ser chamado pelo presidente do país quando há mais clubes lá. Ele foi pressionado", completou Florentino Pérez.

Apesar de não conseguir finalizar a negociação com Mbappé, o Real Madrid assegurou a contratação de outro jovem francês. Tchouaméni, que teve destaque pelo Monaco, foi confirmado como o novo reforço do clube para a próxima temporada. O jogador também era alvo do PSG e o Real Madrid conseguiu superar a concorrência.

"O Tchouaméni contou que alguém lhe disse que ele ia queria ir para o PSG. Não sei quem. O Mbappé perguntou para ele se queria ir para o PSG e ele respondeu não. Isso acontece muitas vezes quando se tratam de contratações. Não é fácil… Fala-se muito de outros clubes... o PSG, o Liverpool e o Real Madrid, todos queriam o Tchouaméni", finalizou Florentino Pérez.

Com uma vitoriosa base já montada, o Real Madrid deverá investir pouco em novos reforços. Depois da chegada de Tchouaméni, a imprensa espanhola acredita que o clube deve investir em zagueiros. Depois das saídas de Raphael Varane e Sérgio Ramos, o clube merengue se firmou com Éder Militão e David Alaba, mas existe a necessidade da chegada de outros jogadores.