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

Imprensa espanhola exalta Vitor Roque e compara: 'Suárez brasileiro'

Vitor Roque comemora gol pelo Athletico em jogo do Paranaense 2023 - José Tramontin/athletico.com.br
Vitor Roque comemora gol pelo Athletico em jogo do Paranaense 2023 Imagem: José Tramontin/athletico.com.br

Colaboração para o UOL

18/03/2023 13h52

Um brasileiro com 18 anos recém completos e um uruguaio de 36 com uma carreira consagrada no futebol. O que Luisito Suárez e Vitor Roque têm em comum? Para a imprensa espanhola e o Barcelona, muito.

De acordo com o jornal 'Sport', a diretoria do clube catalão enxerga no jovem um perfil de atacante que se encaixa perfeitamente na filosofia de jogo do clube, um 'Luis Suárez brasileiro em potencial', nas palavras do periódico. O mesmo jornal aponta que o Barça se mostra muito otimista no desfecho da negociação para levar Vitor à Catalunha na próxima temporada.

Os atacantes de Grêmio e Athletico Paranaense têm números semelhantes neste início de temporada 2023: são 9 gols em 11 jogos para ambos. Suárez, no entanto, tem quatro assistências no ano, duas a mais que o jovem do Furacão. Na conta de Vitor Roque estão somados gols no Sul-americano Sub-20, do qual foi campeão e artilheiro, com seis tentos em oito jogos.

Segundo a publicação, para além das coincidências estatísticas, a diretoria do Barça vê em Vitor Roque o atacante de mobilidade que é uma característica do estilo de jogo blaugrana. A comparação com o uruguaio, ainda que pareça exagerada, surge como um parâmetro do nível que o clube enxerga que o jovem pode alcançar.

Suárez fez parte de um trio de ataque histórico do Barcelona, ao lado de Messi e Neymar: o 'trio MSN'. Foram 195 gols em 283 jogos do uruguaio com a camisa azul-grená, que lhe renderam a Liga dos Campeões de 2014-15, quatro títulos do Campeonato Espanhol, duas Supercopas da Espanha, além da Supercopa da Uefa e o Mundial de Clubes da Fifa.

O camisa 9 do Imortal é o quinto maior artilheiro em atividade no futebol mundial, atrás apenas de Cristiano Ronaldo, Messi, Lewandowski e Ibrahimović e é o maior artilheiro da história da seleção uruguaia, com 68 gols.