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

Mauro: Flamengo está cometendo irresponsabilidade, item dá razão ao Grêmio

Do UOL, em São Paulo

10/09/2021 16h55

O Flamengo reitera a sua posição de realizar o jogo de volta com o Grêmio, pelas quartas de final da Copa do Brasil, com a presença de torcedores, abrindo a venda de ingressos, embora o clube gaúcho não pretende ir a campo se houver público no Maracanã, considerando que tem o respaldo do regulamento de competições em mata-mata da CBF em situações como este, já que atuou com portões fechados em sua arena, quando perdeu por 4 a 0.

No podcast Posse de Bola #159, Mauro Cezar Pereira cita que há um irem no regulamento de deixa explícito que o Grêmio tem a razão no caso e questiona a postura do Flamengo diante de uma situação que pode prejudicá-lo esportivamente em um confronto no qual conta com uma vantagem muito grande e pode colocá-la em risco.

"Tem um item que é muito claro e que mostra como a diretoria do Flamengo pode estar cometendo um ato de irresponsabilidade caso o Flamengo seja punido no tapetão, porque a classificação está praticamente nas mãos, foi 4 a 0. Para colocar público, o Flamengo vai desafiar o seguinte item 'em partidas de ida e volta, mata-mata, no caso de um dos clubes envolvidos não obter autorização pelo órgão sanitário local para receber público no estádio, ambas as partidas não terão público (?)", diz Mauro.

"É muito claro, o texto não deixa margem de dúvida e o Flamengo já deve estar vendendo ingresso ou vai começar a vender. Já perguntei inclusive ao clube, ao Flamengo sobre isso, até agora me disseram que vão vender os ingressos, então eu quero deixar aqui registrado que esse item me parece que dá sim razão. Não sou advogado, não sou do STJD, mas me parece muito claro que o item dá razão ao Grêmio", completa.

O jornalista diz não entender a postura do Flamengo diante desta situação e afirma que os torcedores devem ficar atentos à ação dos dirigentes em relação a este caso, com o risco de que o próprio time seja prejudicado por uma decisão tomada fora de campo pela diretoria.

"Eu não entendo que maluquice pode ser essa, de peitar uma situação dessa para arrumar um problema que não existe, sendo que os atletas já construíram uma vantagem enorme de 4 a 0. Por que o Flamengo está fazendo isso? O torcedor do Flamengo tem que se ligar e questionar os dirigentes. Fosse um item que desse margem a interpretação, mas não me parece", diz Mauro.

"Vão vender ingresso e amanhã vão desistir? Já houve uma maldade com torcedores de vários pontos do Brasil, outro dia eu até retuitei de um torcedor do Flamengo de Belém do Pará, os caras compraram agem e hotel para Brasília, para ver Flamengo e Barcelona de Guayaquil, aí o jogo é removido para o Rio de Janeiro. As pessoas já ficaram com bilhete aéreo na mão, hotel reservado, já fizeram despesa, o cara estará em Brasília e esse jogo é no Rio. Isso é um desrespeito com o torcedor e isso é uma maluquice, o item do regulamento é muito claro", conclui.