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

Trajano: Virou bagunça, os times estão revoltados com o Flamengo

Do UOL, em São Paulo

15/09/2021 11h18

O Flamengo tem hoje (15) o reencontro com a sua torcida no Maracanã depois de 553 dias, na partida de volta pelas quartas de final da Copa do Brasil diante do Grêmio, mas nos bastidores há outra disputa travada pelo clube rubro-negro e os demais 19 clubes que disputam a Série A do Campeonato Brasileiro, depois que o atual bicampeão conseguiu uma liminar para levar público ao estádio na competição já na rodada do fim de semana, o que mobiliza os seus adversários na tentativa de adiamento dos jogos.

No UOL News Esporte, José Trajano lamenta que exista esta divisão, critica a quantidade de torcedores no jogo pela Copa do Brasil e também a forma como o Flamengo tem tratado o assunto, citando também a ligação política dos dirigentes rubro-negros com o presidente Jair Bolsonaro (sem partido).

"É uma vergonha o que está acontecendo, virou bagunça, os times estão revoltados com o Flamengo, evento-teste para 24 mil pessoas? Eu sou totalmente contra. Evento-teste poderia até acontecer, que reduzisse o número de torcedores, porque a gente sempre fala, não é no estádio só o problema, é a ida para o estádio, é a ida de metrô, de trem, de ônibus, é aglomeração na porta do estádio, é na hora de ir ao banheiro, na hora de comprar um sanduíche, tudo isso junto é complicado você juntando ali 24 mil pessoas", diz Trajano.

"O Flamengo não é de hoje que é um time que reina contra a maré e a favor do presidente da República, anda de braços dados com a presidência, é amigo do 'Capitão Corona', e o que está em jogo não é o Flamengo, não são os 19 times, não é a Copa do Brasil, não é o Brasileiro, o que está em jogo é a vigilância sanitária, o que está em jogo é que nós estamos vivendo uma pandemia ainda, o que está em jogo é que tem aí a variante delta e os cuidados têm que ser tomados, então, sou contra levar e parece que é uma trajetória que leva 24 mil agora, no jogo de domingo já seria mais gente e no outro, da Libertadores, mais ainda. É um absurdo que isso aconteça", completa.

O jornalista afirma que no jogo da Copa do Brasil o confronto já está resolvido com a vantagem do Flamengo por ter vencido a primeira partida em Porto Alegre por 4 a 0, mas questiona a falta de isonomia pelo fato de o Grêmio não ter contado com os seus torcedores e o privilégio que é obtido pelo Rubro-negro.

"Tem outro problema, é aquela isonomia. Por que o outro jogou sem torcida e esse aqui vai jogar com torcida em um confronto de dois times? Esse jogo de hoje já está resolvido, sem torcida ou com torcida, dentro de campo, 4 a 0, não tem como reverter, o Grêmio deixou até alguns titulares lá em Porto Alegre, porque está mais preocupado com o jogo de domingo pelo Campeonato Brasileiro, porque está lá ameaçado de ser rebaixado, reverter o resultado da Copa do Brasil é praticamente impossível", diz Trajano.

"Agora, o que os clubes estão reclamando é por que esse privilégio para o Flamengo de ter torcida? E é a maior torcida do país. Então, é complicado, muito complicado, a gente não sabe fazer as coisas, não sabe fazer a lição de casa. Em vez de resolver o problema com calma, com tranquilidade, estamos trazendo mais um problema para o futebol brasileiro e o convívio com o vírus, o convívio com a variante delta", conclui.