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

Podcast

UOL Flamengo

O podcast para a nação rubro-negra


OPINIÃO

UOL Flamengo #29: Nunes: "Fla está se tornando uma potência mundial"

Do UOL, em São Paulo

14/09/2021 16h00

Futebol vistoso, elenco qualificado e, claro, títulos. O Flamengo atual vive um momento positivo, que empolga seu torcedor a ponto de haver comparações entre o time de Renato Gaúcho com o de Jorge Jesus. Há quem ainda busque uma referência ainda mais marcante: a geração vitoriosa da década de 80, com nomes como Zico, Andrade, Júnior e Nunes.

No podcast UOL Flamengo #29 (ouça na íntegra no episódio acima), o apresentador Vanderlei Lima e o setorista Leo Burlá conversaram com o ídolo rubro-negro Nunes, que analisou o atual momento do clube e considera que o Fla está fazendo uma 'revolução' no futebol brasileiro.

Para o ex-jogador, o clube da Gávea vive um momento muito bom, fruto de decisões acertadas na montagem do elenco e do quadro de profissionais. "O Flamengo está em uma fase maravilhosa. Fez um planejamento em que tudo está dando certo, com a escolha dos melhores profissionais dentro do mercado. O Flamengo está se tornando essa potência mundial", elogiou Nunes.

Na visão do ex-atacante, o time atual do Flamengo se destaca por jogar de forma simples. "Todo mundo está vendo a simplicidade do time do Flamengo e como ele é objetivo, tanto na disciplina tática como na leitura, movimentação e presença de área. Vemos um time jogando alegre, para frente. Parece que os outros clubes estão todos assustados quando vão jogar contra o Flamengo. Essa que é a realidade", afirmou.

Para Nunes, o time da Gávea está à frente dos demais concorrentes, que devem seguir o exemplo do Fla para não ficarem para trás. "O Flamengo está sendo inteligente ao aproveitar esse momento importante na fase do clube. Um grupo de es firmes, conscientes do que estão fazendo e contratando os jogadores certos. O Flamengo está fazendo uma revolução no futebol brasileiro e os outros clubes não podem ficar para trás. Tem que seguir o caminho do Flamengo", completou.

Ouça o podcast UOL Flamengo e confira também a opinião de Nunes sobre Gabigol e Pedro e se eles podem jogar ou não juntos.

Os podcasts do UOL estão disponíveis em uol.com.br/podcasts e em todas as plataformas de distribuição de áudio. Você pode ouvir UOL Flamengo, por exemplo, no Spotify, Apple Podcasts, Amazon Music e YouTube.