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

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Após bagunçar tabela, CBF ainda afeta 16 rodadas do Brasileiro por seleções

Gabigol foi chamado por Tite - Wagner Meier/Getty Image
Gabigol foi chamado por Tite Imagem: Wagner Meier/Getty Image

14/08/2021 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

O técnico da seleção, Tite, chamou ontem (13) cinco jogadores de times brasileiros para a rodada tripla das Eliminatórias para a Copa-2022. Para evitar desfalques às equipes, a CBF tratou de mudar jogos da Copa do Brasil e do Brasileiro (aqueles com atletas chamados). Desse modo, promoveu uma bagunça na tabela e, mesmo assim, a seleção continua a afetar 16 rodadas da Série A.

Originalmente, o calendário da CBF previa impacto sobre 18 rodadas da Série A. Houve problemas nas Eliminatórias por conta da pandemia, resultando na marcação de rodadas triplas —o que só pioraria a situação. A confederação reduziu o impacto, mas ainda é um campeonato em que os times não têm titulares em quase metade dele (16 de 32 jornadas, 42%).

Nesta última relação, Tite chamou Everton Ribeiro e Gabigol, do Flamengo, Weverton, do Palmeiras, Daniel Alves, do São Paulo, e Arana, do Atlético-MG. Todos já desfalcaram seus times em outras rodadas por causa de participação na Copa América ou nas Olimpíadas.

A CBF adiou os jogos da Copa do Brasil e a rodada do Brasileiro para esses quatro times. Não ficou claro se vai mexer em jogo da rodada seguinte, que também será afetada. O Brasil joga no dia 9 de setembro, às 21h30, diante do Peru. Pela Série A, Palmeiras e Flamengo enfrentam-se no dia 11, às 19 horas, isto é, com intervalo menor de 48 horas.

Em outubro, haverá nova rodada tripla das Eliminatórias. Pelo novo calendário da CBF, os jogadores ficarão do dia 4 ao dia 14 com o time brasileiro. Ou seja, se houver convocados do Brasil, os times perderiam os atletas por mais três rodadas.

Por último, em novembro, haverá mais três rodadas impactadas pelas Eliminatórias. Duas ocorrerão durante o período de data Fifa e uma logo depois sem tempo de recuperação para os atletas.

Não ficou claro se a CBF vai adotar o mesmo critério e adiar outras partidas. Mas em que datas a confederação vai enfiar seis partidas do Brasileiro? Se não adiar, por que fazer com uma rodada e não outra? O Flamengo já soma três jogos atrasados e a tabela da ponta tende a ser caótica.

Lembremos que a Copa América e outras datas de eliminatórias já afetaram 10 rodadas do Brasileiro. Palmeiras teve desfalque de Weverton, Flamengo ficou sem Everton e Gabigol por sete partidas, já que houve dois adiamentos. E Everton Ribeiro e Weverton atuaram pelos seus times no dia seguinte da final da Copa América.

Ao justificar suas mudanças de tabela, a CBF afirmou: "A alteração tem como objetivo permitir o perfeito andamento das competições previstas, privilegiando o equilibro técnico dos campeonatos." Como um campeonato pode ter seu equilíbrio técnico preservado se times podem não ter titulares por até 16 rodadas?

Além disso, a CBF remarcou as finais da Copa do Brasil para 8 e 12 de dezembro, depois do Brasileiro e já no período de férias dos jogadores. Mais do que isso, o Mundial da Fifa —-ainda sem data definida— deve ocorrer de 9 a 19 de dezembro. Se um time repetir a campanha do Palmeiras na última temporada, vai sair direto da Copa do Brasil para entrar no meio do Mundial. Um cenário tão caótico quanto a própria CBF.