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

OPINIÃO

RMP: Flamengo está querendo público nos jogos do Campeonato Brasileiro

Do UOL, em São Paulo

18/05/2021 11h56

A final do Campeonato Carioca, marcada para o próximo sábado no Maracanã pode até ser transferida para o estádio Mané Garrincha, em Brasília, e contar com público, movimentação que Mauro Cezar Pereira revelou em sua coluna ontem (17) e o UOL também explicou em reportagem, situação envolvendo a Ferj e o Flamengo, ainda que o Fluminense se coloque em posição contrária.

Em sua participação no UOL News Esporte, com Domitila Becker, Renato Maurício Prado afirma que o movimento é todo de autoria do Flamengo, critica a postura da diretoria rubro-negra e aponta que o verdadeiro objetivo é viabilizar de alguma forma a presença de público nos jogos do Campeonato Brasileiro.

"Isso é uma vergonha, não é nem que o Flamengo está apoiando essa ideia, o Flamengo é o autor dessa ideia, a FERJ apenas é a laranja do Flamengo nessa história toda e a postura do Flamengo na pandemia é lamentável, como já foi aliás em várias outras situações", afirma Renato.

"Quando exige sensibilidade, é impressionante como essa diretoria do Flamengo é tosca. Já no primeiro jogo pam quase 150 convidados lá só da parte do Flamengo, o que também já é um absurdo, é um desrespeito, é uma coisa vergonhosa", completa.

De acordo com o jornalista a realização bem-sucedida de um jogo com torcida na final do Campeonato Carioca serviria para que o clube pudesse pleitear a presença de público em seus jogos como mandante no Brasileirão, algo que chegou a ser cogitado na edição ada, mas não se concretizou.

"O Flamengo está fazendo essa briga toda não é só por causa da final do estadual, a final do estadual é apenas a cabeça de ponte, diriam os militares, para tentar botar público nos jogos do Brasileiro, é essa a grande meta do Flamengo, o Flamengo quer ter público nos jogos do Brasileiro, então ele acha que se conseguir botar público em algum jogo agora dessa final, seja em Brasília ou no próprio Rio, ele vai dizer 'está vendo? Não aconteceu nada'. Claro, não aconteceu nada porque ninguém vai continuar atrás dos caras que foram para ver se alguém teve covid, se alguém da família pegou covid, ninguém vai checar isso", afirma Renato.

O colunista do UOL também critica a presença de convidados no jogo anterior, no último sábado (15) e a confusão causada por eles com xingamentos aos jogadores no Maracanã.

"Não tinha que ter convidado nenhum, mas se vai ter convidado, então bota lá no anel de cima do Maracanã, porque o que eles fazem é ficar atrás dos bancos ali xingando, ofendendo o quarto árbitro, xingando o jogador do adversário, é o fim do mundo, eles se portam como os piores torcedores", diz o jornalista.

"Na verdade são quase todos dirigentes ou pessoas ligadas aos dirigentes, não são os torcedores comuns, esses, coitados, nem convite recebem. Mas eu acho que é o fim do mundo, eu acho que realmente o Flamengo nesse aspecto é lamentável", conclui.