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

Rodrigo Mattos

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Clubes racham por criação de liga após 'telefone sem fio' entre grupos

Reunião dos clubes que não aderiram à Libra na CBF - Divulgação
Reunião dos clubes que não aderiram à Libra na CBF Imagem: Divulgação

09/06/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Com Igor Siqueira

Em reunião na CBF, 25 clubes das Séries A e B decidiram formar uma nova entidade para discutirem a Liga para organizador o Campeonato Brasileiro, entre outros assuntos. Do outro lado, já existe a Libra (Libra de Clubes do Brasil), com participação de 13 times. A divisão dos times em dois grupos foi precedida por um 'telefone sem fio' sobre uma carta e critérios de divisão de receita de TV.

No meio de maio, os 25 clubes - liderados por Atlético-MG, Fluminense e Internacional - mostraram disposição em um encontro com os times da Libra para negociar a distribuição das cotas de transmissão. Mas todas as tentativas de conversas entre as partes foram malsucedidas, principalmente uma correspondência entre as partes.

O Atlético-MG e Fluminense am uma carta, em 31 de maio, em nome de todos os clubes pedindo um encontro com os dirigentes da Libra, com duas datas possíveis. Havia um prazo de sete dias para resposta.

"No dia 31 de maio, nós fizemos um ofício pedindo aos clubes da Libra para que marcasse uma reunião, nos dessem duas datas, com local e horário, para sentar e tentar discutir. Eles nem resposta nos deram", disse o presidente do Galo, Sergio Coelho.

A questão é que a carta chegou para representantes da Libra em 1° de junho por meio de telefone. E nem todos os presidentes de clubes listados — Flamengo, Corinthians, Santos, São Paulo, Palmeiras e Red Bull Bragantino — receberam o documento pelo no WhatsApp.

Ainda assim, a Libra preparou um documento como resposta que mandaria para todos os 25 clubes por e-mail. O objetivo era oferecer uma reunião para mostrar todos os critérios de distribuição de receitas de TV, incluídas as mudanças recentes. O documento seria enviado no dia 8 (ontem). Mas os representantes da Libra foram surpreendidos com a reunião de fundação de outra entidade, e agora analisam se respondem.

No documento, os 25 clubes propõe uma divisão com 45% igual, 30% por performance e outros 25% por engajamento de torcida. Dizem que isso foi discutido com o presidente do São Paulo, Julio Casares. E defendem a discussão dos critérios de performance e engajamento, com alterações na proposta da Libra.

Mas a discussão dos critérios de divisão de dinheiro na Libra evoluiu e a realidade é diferente da incluída no estatuto. Atualmente, o engajamento por torcida já excluiu redes sociais dos itens que seriam medidos. Também foi retirado o item audiência, que é o defendido pelos 25 clubes do novo grupo.

Já a distribuição do dinheiro por performance também já foi revisto dentro da Libra: houve redução entre o time campeão e o último colocado proporcionalmente. Dentro do grupo, a informação é de que sugestões dos 25 clubes foram incorporadas

A dificuldade do diálogo entre as partes tem um motivo conceitual. Os 25 clubes só aceitam se juntar à Libra se forem revistos os critérios antes, enquanto os times da Libra só concordam em discutir se houver adesão.

Há um consenso ouvido de líderes dos dois grupos, Libra e 25 times: quando houver dinheiro da TV de fato na mesa, os dois lados vão se sentir obrigados a dialogar para evitar a redução do bolo do Brasileiro. Se ainda assim não sair um acordo, aí cada um dos dois lados terá de montar nova estratégia para aproveitar fatias menores.