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

Rafael Reis

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.

Como astro de R$ 680 mi superou piadas para 'assumir' camisa 10 do City

Colunista do UOL

11/04/2023 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

O Manchester City jogou 117,5 milhões de euros (quase R$ 650 milhões) no lixo. Pep Guardiola gastou uma fortuna só porque queria embelezar seu elenco com as panturrilhas mais bem torneadas da Inglaterra. Ele é mais uma subcelebridade do que propriamente um jogador.

Segundo reforço mais cara da história do futebol inglês, Jack Grealish ou seu primeiro ano no Etihad Stadium ouvindo piadas como as citadas acima e desconfiando de que talvez realmente não tivesse bola para jogar em um dos times mais poderosos do planeta.

Mas, tudo mudou nesta temporada. O meia-atacante de 27 anos deixou de ser lembrado apenas pela dinheirama que foi depositada na sua contratação, pela pinta de popstar e pelos músculos superdesenvolvidos das suas pernas.

Contra o Bayern de Munique, a partir das 16h de hoje (de Brasília), no primeiro jogo das quartas de final da Liga dos Campeões da Europa, Grealish deve novamente ser escalado como titular do City (o que se tornou corriqueiro nos últimos meses) e ter uma nova oportunidade de provar que é mesmo a escolha correta para vestir a camisa 10.

O meia-atacante recebeu o número normalmente reservado aos craques por causa das consecutivas temporadas de sucesso que construiu no Aston Villa. Foi por esse motivo também que o City topou pagar a seu antigo clube um valor que jamais havia sido desembolsado antes na Premier League inglesa -o recorde foi quebrado em janeiro pelo Chelsea, na contratação do argentino Enzo Fernández.

"No Aston Villa, o técnico me dizia: 'vá e encontre onde você acha que está o ponto fraco na defesa. Se quiser ir para a direita, para o meio, ficar colado na linha lateral.' Como ei minha vida inteira no Villa, nunca tive que mudar. Não imaginava o quanto seria difícil me adaptar a outro time e outro técnico. É muito mais difícil do que eu pensava", disse o jogador, à Sky Sports, em janeiro.

Mais adaptado ao que Guardiola queria dele, Grealish aproveitou a brecha deixada nesta temporada pela queda de rendimento do garoto Phil Foden (antigo titular da posição) para assumir o lado esquerdo do ataque do City.

Apesar de ainda faltar quase dois meses para o fim da temporada, o meia-atacante já aumentou em 40% seu número de participação em gols de 2021/22: 14, contra dez. Além disso, virou o segundo jogador do elenco azul celeste com mais assistências: nove, menos apenas que o belga Kevin de Bruyne.

O camisa 10 também virou o principal desafogo de jogadas individuais do City e começou a entregar algumas atuações de gala. Na goleada por 4 a 1 no clássico contra o Liverpool, no dia 1º de abril, foi o melhor jogador em campo. No último fim de semana, quando a equipe de Guardiola aplicou o mesmo placar sobre o Southamtpon, também marcou um gol e deu uma assistência.

As famosas panturrilhas do meia-atacante do City ainda continuam lá chamando muita atenção. Mas já não há mais muita gente disposta a dizer que Jack Grealish se resume a elas.

Dos oito times ainda vivos na Liga dos Campeões, somente City e Napoli jamais conquistaram o torneio interclubes de futebol mais badalado do planeta. Os ingleses até chegaram a uma decisão (perderam para o Chelsea em 2021). Os italianos, nem isso.

Os outros seis postulantes ao título desta temporada somam juntos 34 conquistas. Só o Bayern, adversário dos comandados de Guardiola nas quartas desta temporada, levantou o troféu em seis oportunidades -é o terceiro maior campeão de todos os tempos.

O sucessor do Real Madrid no posto de melhor time da Europa será conhecido em 10 de junho. O palco da final será o estádio Olímpico Atatürk, em Istambul (Turquia), originalmente escolhido como sede da decisão de 2021, que precisou ser transferida para Portugal devido à pandemia da covid-19.

Quartas de final da Champions - jogos de ida

Hoje, às 16h - Benfica x Inter de Milão, em Lisboa (POR)
Hoje, às 16h - Manchester City x Bayern de Munique, em Manchester (ING)
Amanhã, às 16h - Real Madrid x Chelsea, em Madri (ESP)
Amanhã, às 16h - Milan x Napoli, em Milão (ITA)