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

Atuação em goleada vira carta de apresentação de Gavi para o mundo

, Julio Gomes, colunista do UOL e em Doha (Qatar)

23/11/2022 20h13

Classificação e Jogos

A grande atuação na vitória de 7 a 0 da Espanha sobre a Costa Rica colocou Gavi sob os holofotes do mundo todo. Golden Boy, eleito o jogador jovem do ano pela " Football", o meia do Barcelona já é obviamente conhecido por quem acompanha o futebol europeu um pouquinho mais de perto. Mas com as desastrosas campanhas do Barça, que não tem aparecido nas fases importantes da Champions League, o surgimento de Gavi talvez tenha ado despercebido para a maioria.

Autor do quinto gol, em um lindo chute de primeira, após cruzamento de Morata, Gavi tornou-se o terceiro goleador mais jovem da história das Copas (o mais novo deste Pelé, em 58). Tornou-se também o mais jovem a entrar em campo com a camisa da Espanha - ele tem 18 anos e 110 dias.

"É um orgulho estar nesse pódio. Koke (jogador do Atlético de Madrid e da Espanha) sempre me diz que só me darei conta de tudo isso daqui a alguns anos", falou Gavi, após a goleada espanhola. Ele ganhou o prêmio de melhor em campo, e o jornal "Marca" chamou o garoto de "marciano" após a goleada. "Nem nos meus melhores sonhos eu imaginava isso", disse.

Pablo Martín Páez Gavira nasceu no povoado de Los Palacios y Viilafranca, perto de Sevilha. Começou a jogar nas categorias de base do Bétis, mas foi para o Barcelona aos 11 anos. Subiu do sub-16 para o sub-19 diretamente, assinou o primeiro contrato profissional em 2020 e em agosto do ano ado fez seu primeiro jogo com o time de cima. Em setembro, já era chamado por Luís Enrique. Uma subida fulminante para um rapaz que até outro dia jogava com as chuteiras desamarradas, por não saber amarrar o cadarço.

Junto com Pedri, outro jovem do Barça de ascensão meteórica, e Busquets, que tem quase a idade dos dois somadas, Gavi forma um meio de campo que mostrou entrosamento. Entre os jornalistas internacionais que acompanhar o jogo, já havia comparações da dupla Pedri-Gavi com Xavi-Iniesta, que ganharam tudo pelo Barcelona e pela Espanha.

"Somos amigos fora de campo e dentro", disse Gavi sobre Pedri. "É um espetáculo de jogador, muito fácil jogar ao seu lado".

"Gostei muito do time", falou Luís Enrique. "A ideia era que os jogadores do meio de campo tocassem muito a bola e, a partir daí, apareceu toda a qualidade que temos. Mas os elogios nos enfraquecem e não vamos deixar que eles nos atrapalhem".

"Com certeza ele vai querer ajustar algumas coisas", contou Soler, sorrindo, comprovando a fama de "ultra exigente" do treinador. "É normal, é sempre assim, não há partidas perfeitas", acrescentou o autor do sexto gol.

Qual seleção vai ser a campeã da Copa do Mundo do Qatar?

Enquete encerrada

Total de 43743 votos
7,61%
Divulgação/Adidas