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

Danilo Lavieri

Clubes rearticulam movimento pela lei do mandante que pressiona Globo

Sem máscara, Bolsonaro encontrou dirigentes de clubes brasileiros durante a pandemia de covid-19 - Marcos Corrêa/Presidência da República
Sem máscara, Bolsonaro encontrou dirigentes de clubes brasileiros durante a pandemia de covid-19 Imagem: Marcos Corrêa/Presidência da República

Colunista do UOL

16/11/2020 11h51

Receba os novos posts desta coluna no seu e-mail

Email inválido

Depois de verem a MP do Mandante caducar em Brasília, os clubes integrantes do Futebol Mais Livre rearticulam uma volta do grupo. Há uma reunião marcada para esta semana para discutir novas ações do movimento que pressiona a TV Globo.

O encontro será virtual e tentará reunir os 45 times que ainda estão no movimento. Entre os da Série A estão Athletico, Atlético-GO, Bahia, Ceará, Coritiba, Flamengo, Fortaleza, Goiás, Red Bull Bragantino, Palmeiras, Santos e Vasco.

Corinthians, Internacional, Sport e Atlético-MG chegaram a fazer parte do grupo, mas saíram depois de uma conversa com a Globo. São Paulo, Grêmio, Fluminense e Botafogo nunca deram o apoio por entenderem que o melhor caminho também é ficar ao lado da emissora.

Ainda há times de todo o país que disputam as divisões inferiores e também estão a favor do movimento, como América-MG, Chapecoense, CRB, Cruzeiro, Figueirense, Guarani, Juventude, Paraná, Náutico, Santa Cruz e Vitória.

A ideia do Futebol Mais Livre é que a briga não saia da pauta de discussões de torcedores e, claro, entre os políticos. Há uma esperança que o tema volte a ser discutido pelas autoridades no ano que vem.

Se fosse aprovada, a mudança na lei do mandante daria o direito ao dono de casa de comercializar os direitos de transmissão, independentemente da vontade do visitante. Atualmente, para se transmitir uma partida no Brasil, a empresa responsável precisa ter o direito dos dois times envolvidos.

Com contratos que duram pelo menos mais quatro anos, a Globo é a principal afetada no momento caso a mudança saísse do papel. Por isso, a emissora atuou nos bastidores nos últimos meses para tentar minar o apoio de times ao grupo.

O Futebol Mais Livre também não conseguiu avançar em Brasília porque a MP foi desenhada pelo presidente Jair Bolsonaro. Por questões políticas, Rodrigo Maia não deu prosseguimento à pauta em Brasília, mesmo com a pressão presencial de clubes que viajaram até lá em nome do movimento.