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


ANÁLISE

UOL Flamengo #19: Rogério Ceni lida com cobrança inédita na carreira

Do UOL, em São Paulo

06/07/2021 16h00

A derrota por 1 a 0 no clássico para o Fluminense voltou a esquentar o clima no Flamengo e a pressão sobre Rogério Ceni se intensificou. O treinador, que convive com a desconfiança desde que chegou ao clube, enfrenta uma cobrança inédita em sua carreira, tanto como jogador e como técnico.

No podcast UOL Flamengo #19 (ouça na íntegra no episódio acima), o apresentador Pedro Lopes e o setorista Leo Burlá conversaram sobre a atual situação do treinador e discutiram os problemas enfrentados por ele no clube da Gávea, como por exemplo a dificuldade em lidar com críticas ao seu trabalho.

"O Rogério é um sobrevivente. Ganha uma, duas, três, e o pessoal se esquece um pouco dele. Perde uma, duas, volta tudo à tona. Agora ele está no momento da pressão de volta. Não existe boa vontade com ele por parte da torcida desde o começo. No calor da emoção, perdem essa perspectiva de Copa América, de praticamente um mês sem cinco, seis jogadores. Não tem muita mágica possível também", opinou Burlá.

Para o repórter, o treinador sente dificuldades em compreender o ambiente do clube desde sua chegada à Gávea. "Falta molejo para ele e entender um pouco melhor o ambiente em que ele está inserido. O Flamengo requer um pouco mais de leveza. O Ceni é muito duro. Não consegue sair daquele script, dar um sorriso, são sempre respostas mecânicas. Ele deu algumas respostas atravessadas, mandou um monte de recado", comentou.

Burlá destacou que o técnico encara algo novo na carreira dele. "O Ceni está encarando uma situação inédita na vida dele. Ele não está habituado a ser questionado. Foi um jogador inquestionável, idolatrado. No São Paulo, quando ele começa a carreira dele como treinador, embora houvesse questionamentos, ele sempre teve esse estofo do ídolo para dar uma amenizada na pressão. No Cruzeiro, não deu nem muito tempo para ele ser pressionado. No Fortaleza, ele encontra o tapete vermelho e o ambiente perfeito para trabalhar em paz", ressaltou.

Para o setorista, Ceni parece fadado a enfrentar essa desconfiança por conta de sua imagem de ídolo são-paulino. "Tem uma coisa muito maluca. Estamos falando de um técnico que ganhou três títulos. Imagina um cara que viesse de derrotas em série. Parece que o Ceni vai ter que conviver com isso em qualquer clube que ele for. Ele é meio refém dessa imagem de ser ídolo de um clube só e vai ter sempre que lutar contra o sucesso que ele próprio construiu como ídolo do São Paulo", completou.

Ouça o podcast UOL Flamengo e confira também o debate se Ceni consegue extrair o máximo do elenco do Flamengo.

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.