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

Fluminense

Calegari e Luiz Henrique comemoram 'ano especial': do sub-20 à Libertadores

Calegari e Luiz Henrique são jovens destaques do Fluminense na temporada - Lucas Mercon/Fluminense FC
Calegari e Luiz Henrique são jovens destaques do Fluminense na temporada Imagem: Lucas Mercon/Fluminense FC

Caio Blois

Do UOL, no Rio de Janeiro

08/02/2021 13h02

No calendário, 2020 já é ado, mas no futebol brasileiro, ainda é presente. E a temporada foi também um presente para jovens como Calegari e Luiz Henrique, que começaram o ano no sub-20 e agora são titulares do Fluminense que mira a Libertadores.

Com a vaga praticamente garantida, o Tricolor agora foca seus esforços em conquistar um lugar na fase de grupos no Campeonato Brasileiro. Para isso, conta com a dupla entrosada dentro e fora de campo que vive um "momento especial": da Copinha à briga pela Libertadores.

"Começamos na Copinha, viemos para o sub-23, aí começou a pandemia e essa loucura. Fomos pegos de surpresa quando começamos a treinar com o profissional. Mas os mais experientes dão muita confiança para a gente evoluir, além do Odair e agora o Marcão. Foi um ano especial para a gente. Apesar da loucura, foi muito especial", declarou Calegari, que encontrou eco nas palavras de Luiz Henrique:

"Fico feliz porque aconteceu tudo muito rápido na minha vida. Sempre venho trabalhando firme no dia a dia para dar meu melhor. É continuar assim para pegar essa Libertadores e seguir atuando muito bem", disse o atacante.

Os dois começaram devagar. Da reserva à titularidade, obtiveram destaque rapidamente no Brasileirão. Se Luiz Henrique já marcou dois gols, incluindo o da vitória sobre o Bahia na última semana, Calegari ainda não balançou as redes, mas figura no top-5 em categorias defensivas e ofensivas na lateral-direita, que nem é sua posição de origem. Volante, ele tem sido um dos melhores do setor na competição.

"Estou conseguindo desenvolver uma ótima parte defensiva, principalmente ajudando companheiros a não levar gols. Bate a ansiedade de fazer gol, maior sentimento do futebol. Tem que controlar, porque pode atrapalhar, mas claro que tenho muita vontade. O mais importante é ajudar o Fluminense", destacou.

Com 56 pontos e na quinta posição, o Flu completará uma semana de descanso e treinos antes de enfrentar o Atlético-MG, na quarta (10), às 21h30, no Maracanã. Uma vitória sobre adversário direto na luta por uma vaga na Libertadores pode significar a entrada no G4, pressionando o São Paulo, que vive má fase apesar da quarta colocação. Tímido fora de campo, Luiz Henrique foi sucinto ao projetar o jogo

"O time trabalhou muito na semana. Espero fazer um bom jogo contra o Atlético-MG, e se Deus quiser vamos sair com a vitória", disse.

Em campo, entretanto, o jovem tem chamado a atenção: marcou dois gols e deu uma assistência na fase invicta de quatro jogos do Tricolor. Um dos integrantes da "geração de ouro" de Xerém que já revelou Marcos Paulo e João Pedro, o ponta tem seguido conselhos de Fred para balançar as redes.

"Na base joguei muito pela ponta-esquerda, me sentia mais confiante por ali. Mas em qual posição o Marcão me colocar vou dar meu melhor para o Fluminense. Procuro sempre trabalhar para evoluir. Converso muito com o Fred, que pede para eu jogar mais perto dele, entrar mais na área. Contra o Bahia, ele falou e deu certo. Espero aparecer mais na área e fazer mais gols", destacou.

O foco dos dois, além do Flu, está na seleção brasileira. Convocados recentemente para o time sub-20 da amarelinha, comandado por André Jardine, eles estão de olho nas Olimpíadas.

"Temos que trabalhar firme e desempenhar o melhor possível no Fluminense que as coisas vão aparecer. Estar na seleção brasileira sub-20, olímpica ou principal é um sonho para todo mundo. Se tiver convocação vai ser muito bom, ficaremos muito felizes. Até o sub-17 eu era convocado como volante. Minha primeira convocação como lateral-direito foi agora no sub-20. Deixo isso nas mãos do treinador. Me sinto confiante na lateral e no meio de campo. Estou a temporada toda jogando como lateral, mas nunca vou descartar a posição de origem. Se tiver chances no meio, vou procurar ajudar da mesma maneira", disse Calegari.

Confira mais respostas de Luiz Henrique e Calegari na coletiva:

Fluminense