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

Sousa lança Victor Hugo e foca em trabalho de integração com a base do Fla

Meia Victor Hugo, de 17 anos, fez estreia pelos profissionais do Fla: jovem tem multa de 100 milhões de euros - Gilvan de Souza / Flamengo
Meia Victor Hugo, de 17 anos, fez estreia pelos profissionais do Fla: jovem tem multa de 100 milhões de euros Imagem: Gilvan de Souza / Flamengo

Do UOL, no Rio de Janeiro

02/05/2022 04h00

A vitória de virada do Flamengo de virada, ontem (1), por 2 a 1, sobre o Altos, na Copa do Brasil, serviu para o técnico Paulo Sousa poupar os jogadores mais desgastados e fazer alguns experimentos, dentre eles promover a estreia entre os profissionais do jovem Victor Hugo, de 17 anos, que entrou no segundo tempo em Teresina (PI).

Considerado uma joia das divisões de base do clube, ele tem uma multa rescisória estipulada em 100 milhões de euros (cerca de R$ 524 milhões) e é tratado com cuidado pelo treinador português.

Sousa já havia relacionado o meia para a partida contra Universidad Católica, no Chile, pela Copa Libertadores, mas na ocasião ele ficou no banco de reservas e não foi utilizado. Ontem ele entrou aos 23 minutos da etapa final no lugar de Marinho e participou do segundo gol rubro-negro. A ideia do treinador é integrar cada vez mais a base.

"Desde a minha chegada, estamos a acompanhar muitos jogadores. A ideia é, juntamente ao futebol de base, fazer um trabalho não só de seguimento, mas de integração de forma a integrar algumas ideias, ritos competitivos, interação com jogadores do elenco principal. Estou muito satisfeito, porque estamos a fazer um bom trabalho, e tenha certeza que o futuro breve é deles e vão nos ajudar para trazer vitórias para estes torcedores que merecem", disse Sousa.

Na partida contra o Altos, o treinador utilizou, no total, seis jogadores revelados nas divisões de base do Flamengo: Marcos Paulo, Daniel Cabral, João Gomes, Igor Jesus, Lázaro e Victor Hugo.

Na próxima quarta-feira (4) o Rubro-Negro volta o foco para a Copa Libertadores, quando enfrentará o Talleres na Argentina. A equipe é a líder do Grupo H com 100% de aproveitamento.

Flamengo