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

Na seleção, Fred e Casemiro vão do carrinho por trás à dupla rumo à Copa

Fred, volante da seleção brasileira - Lucas Figueiredo/CBF
Fred, volante da seleção brasileira Imagem: Lucas Figueiredo/CBF

Igor Siqueira

Do UOL, em Teresópolis (RJ)

27/03/2022 14h16

Parece até que o destino pregou uma peça. O mesmo jogador que, durante um treino, deu um carrinho que atrapalhou o plano de estar em campo em uma Copa do Mundo tornou-se, quatro anos depois, sua dupla no time titular do Brasil. Na escalação da seleção brasileira, o nome de Fred está lá, ao lado de Casemiro, compondo um setor que não atrai tantos holofotes, mas é crucial para o sucesso da seleção.

Quatro anos depois, o episódio em que Casemiro atingiu Fred, ainda na fase de preparação para a Copa da Rússia, é tratado por quem levou a pior como uma "fatalidade". Apesar das infiltrações, Fred ou longe de ter as melhores condições. Em alguns jogos da campanha na Rússia, não ficou nem no banco. Mas recuperou-se para ser um esteio importante na dinâmica de jogo da equipe de Tite.

"Sou um cara bem tranquilo, creio que Deus tem tudo escrito. Deus tem tudo escrito. Não era para eu jogar, não era para ser. Deus sabe todas as coisas. Felizmente, eu consegui superar isso, essa lesão um pouco mais séria. Felizmente, pude voltar para a seleção e estou a caminho de mais uma Copa novamente. Espero que possa dar tudo certo até lá", disse Fred, em coletiva concedida hoje (27), em Teresópolis, onde a seleção se prepara para enfrentar a Bolívia, pelas Eliminatórias.

Desde que voltou a ser convocado com regularidade para a seleção, em junho de 2021, Fred participou de 14 partidas com a amarelinha. Dez delas foram ao lado de Casemiro. O Brasil perdeu a final da Copa América, mas vem de uma campanha invicta nas Eliminatórias. Fred, pelo discurso, não guarda mágoa por aquela chegada por trás em Londres.

"Sempre tivemos uma boa relação. Eu, ele e todos os jogadores. Todas as vezes que eu vim, é maravilhoso estar aqui. É como se fosse minha família mesmo. Infelizmente ali no treino, aconteceu uma fatalidade ali no treino. Faz parte do futebol, todo mundo querendo uma vaga na seleção. Os treinos são bem pegados", comentou o jogador do Manchester United.

Fred é um dos jogadores mais afetados pela série de testes na seleção. Isso faz com que haja uma variação de proximidade a Casemiro dentro de campo. No jogo ado, contra o Chile, quando o Brasil não teve um centroavante de ofício, ele por vezes apareceu enfiado na área, compondo um "front" de cinco jogadores mais agudos quando o Brasil atacava. Isso faz com que Fred tenha que se movimentar pelo campo todo, já que, sem a bola, ele fica mais alinhado a Casemiro.

"Casemiro e eu temos que ter essa qualidade de levar a bola até eles [do ataque], para ter a construção de jogo. Contra o Chile, eu não precisei baixar tanto, pude ficar mais atrás da linha do meio-campo deles, entre as linhas. Temos um leque de opções. Isso é bem bacana no nosso esquema", comentou, elogiando a dinâmica de Tite nos últimos jogos.

Hoje, o setor de Fred ainda pode ser afetado se a comissão técnica optar pela formação usada diante do Paraguai, em Belo Horizonte, que teve Paquetá mais recuado. Aí, faltou espaço para o próprio Fred, que, hoje, tem a concorrência mais direta de Arthur e Bruno Guimarães na seleção.

Especificamente para o jogo contra a Bolívia, terça-feira (29), a resposta se Fred será novamente titular será dada no treino de hoje, na Granja Comary.