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

Divisão de dinheiro de TV e Série B: o que rachou clubes na reunião da Liga

Bola oficial do Brasileirão para a temporada de 2022 - Wagner Meier/Getty Images
Bola oficial do Brasileirão para a temporada de 2022 Imagem: Wagner Meier/Getty Images

03/05/2022 12h25

Receba os novos posts desta coluna no seu e-mail

Email inválido

Um grupo de clubes, incluindo os grandes paulistas e o Flamengo, assinou um documento com a criação da Liga de Clubes do Brasil para organizar o Brasileiro da Série A. Mas o movimento Forte Futebol - que reúne dez clubes da Série A - não quis aderir por discordâncias relacionadas à divisão de dinheiro. Para a Liga sair, será preciso haver um consenso entre os dois lados, talvez em nova reunião na CBF.

Corinthians, Santos, São Paulo, Palmeiras, Red Bull Bragantino, Flamengo am um documento para criação da Liga —Cruzeiro e Ponte Preta também aderiram. Havia um estatuto que foi enviado a todos os times das Série A e B com antecedência.

Os documentos também previam uma premissa de uma fórmula de divisão de receitas da Liga. Seriam 40% distribuídos iguais, 30% por premiação e 30% por engajamento. Esse formato, no entanto, teria de ser aprovado dentro da Liga por meio de uma decisão unânime.

Mesmo assim, já gerou uma reação de rejeição anterior à reunião. Os clubes do Forte Futebol —composto por Fortaleza, Ceará, Athletico, Goiás, Juventude, Cuiabá, Coritiba— defendem uma fórmula diferente. Desejam que a distribuição seja de 50%, 25% e 25%. Ainda querem discutir os critérios de engajamento.

Outro ponto de discordância é em relação ao dinheiro destinado à Série B. O documento da Liga de clubes previa que será dada à Série B um total de 15% do dinheiro arrecadado. O movimento Forte Futebol deseja que sejam 20%.

Assim, o movimento Forte Futebol vê como apressada a da criação da Liga. E vai se reunir para avaliar se irá à reunião marcada pelos outros clubes para a CBF. Os clubes que am o documento da Liga esperam um consenso neste encontro.

Mais uma discussão é sobre a participação da empresa Codajas na montagem da Liga —a empresa tem parceria com o banco BTG. A empresa, que tem como líder Flávio Zveiter, assinou documento para desenvolver a Liga com os quatro grandes de São Paulo e o Flamengo. Só que o movimento Forte Futebol não quer que a Liga já seja criada com um banco de investimento definido.