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

Liga de clubes amplia conversa com investidores enquanto aguarda proposta

Escolha os melhores atletas do Brasileirão! - GettyImages
Escolha os melhores atletas do Brasileirão! Imagem: GettyImages

11/01/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

A Liga de clubes do Brasileiro aguarda uma proposta da empresa Codajás para compra de parte de seus direitos até o meio de janeiro. Em paralelo, dirigentes de times têm conversado com outros grupos para ampliar as possibilidades de ofertas. Mas as negociações são embrionárias, tanto que nem todas as equipes participam.

Em novembro, 16 clubes —Flamengo, Fluminense, Botafogo, Vasco, São Paulo, Santos, Corinthians, Palmeiras, Red Bull Bragantino, Grêmio, Internacional, Cruzeiro, Atlético-MG, Bahia, Ceará, Fortaleza— am um acordo de proposta vinculante com a empresa Codajás Sports Kapital para venda de uma parte da liga. Isso significaria que pagariam um valor adiantado e depois ficariam com uma fatia da venda dos direitos, o que inclui TV e marketing relacionado ao Brasileiro.

Pelos termos do documento, a empresa teria dois meses para apresentar uma oferta de pelo menos US$ 750 milhões para comprar um percentual da liga. O prazo ou, mas a empresa sinaliza que deve apresentar a proposta até 15 de janeiro. Não há nenhum impedimento de um acordo após o prazo.

Enquanto isso, alguns clubes têm sido procurados por outros grupos de possíveis investidores. Houve um crescimento do interesse depois que dois clubes —Cruzeiro e Botafogo— fecharam acordos de venda de suas SAFs (Sociedades Anônimas do Futebol) para investidores. A sensação no mercado é de que o futebol estará mais aberto para gestões que priorizem o pensamento comercial. Os compradores da SAF já teriam valorização de seus ativos.

Não houve, no entanto, nenhuma proposta oficial. Um dos dirigentes envolvidos com a Liga classificou as conversas como abstratas, com pouco conteúdo material. E as sondagens têm acontecido individualmente com os clubes. Tanto que outros dois cartolas de clubes da liga ouvidos pelo blog afirmaram desconhecer qualquer movimentação em relação à proposta.

A questão agora é como os clubes vão agir se a Codajás, de fato, confirmar sua proposta vinculante no meio de janeiro. Há a possibilidade de os times fecharem negócio com a empresa ou esperarem por outras ofertas. Por enquanto, uma concorrência formal pelos direitos ainda não está na mesa. Há quem veja essa opção como improvável entre os dirigentes.

A discussão dentro da Liga é pelos direitos a partir de 2025 e pode envolver também a Série B. Portanto, ainda há tempo para estruturar o negócio para uma venda de parte do Brasileiro.