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

Flamengo

Pedro ganha força no Flamengo ao impressionar antigo irador: Paulo Sousa

Leo Burlá

Do UOL, no Rio de Janeiro

25/01/2022 04h00

Quis o destino que o encontro entre Paulo Sousa e o atacante Pedro acontecesse no Flamengo. Não fosse por uma recusa do Fluminense, a parceria teria sido selada ainda em 2019, quando o português, então técnico do Bordeaux (FRA), pediu a contratação do atacante.

Na época, o Flu não aceitou a proposta, e a dobradinha foi adiada. Meses depois, o jogador foi vendido para a Fiorentina (ITA). Até que em janeiro de 2020 ele partiu rumo à Gávea.

Encantado com o camisa 21 desde que ele vestia tricolor, Sousa precisou de poucos dias para confirmar que sua impressão, à distância, não estava equivocada. Logo neste início de trabalho, o luso tem se animado, para não dizer impressionado com a capacidade técnica do atleta —é o que tem confidenciado a pessoas próximas.

Com a concorrência ferrenha de Gabigol, Pedro intensificou os esforços e voltou a mil por hora na pré-temporada, estando no grupo dos jogadores que apresentaram os melhores índices de gordura corporal e massa muscular.

Diante da expectativa criada com a chegada de uma nova comissão técnica, o artilheiro não esconde o ânimo renovado e aguarda por mais chances do que em temporadas anteriores.

"Não penso que só temos Pedro e Gabigol, temos três atacantes muito fortes. Já usei três atacantes e penso em fazer em vários jogos neste início e durante o próprio jogo. Estou falando do Bruno Henrique, que é muito forte e tem muita qualidade na área. Sou um treinador que gosto de ver minha equipe criando chance de gol por todos os lados. Quero criar uma dinâmica que nos faça marcar muitos, muitos gols", disse Sousa.

Animado com a iração do comandante, o centroavante sabe que tem o carinho de um outro técnico para lá de especial. Tite, no caso. Na última convocação da seleção que disputa as Eliminatórias, o treinador deixou claro que o aporte do rubro-negro ainda pode ser carimbado para a Copa do Mundo: "Temos a expectativa de ter o Pedro com a gente, de ele voltar a ser chamado, com mais rodagem, mais minutos em campo e menos lesões".

Com 41 gols em 100 jogos pelo Flamengo, Pedro inicia a temporada com a corda toda e disposto a fazer de 2022 um ano pintado de vermelho, preto e amarelo.

Flamengo