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

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Rodada deixa ainda mais claro: só Palmeiras e Flamengo brigam por título

Weverton do Palmeiras durante partida entre Flamengo e Palmeiras, válido pelo Campeonato Brasileiro 2022 - DHAVID NORMANDO/FUTURA PRESS/ESTADÃO CONTEÚDO
Weverton do Palmeiras durante partida entre Flamengo e Palmeiras, válido pelo Campeonato Brasileiro 2022 Imagem: DHAVID NORMANDO/FUTURA PRESS/ESTADÃO CONTEÚDO

Colunista do UOL

15/08/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

A 22ª rodada deixou ainda mais claro o que já vinha dando sinais no horizonte do Brasileirão: só Palmeiras e Flamengo brigam pela taça. Os confrontos diretos previstos para sábado e domingo aumentaram as diferenças entre os outros supostos candidatos ao título e direcionam o campeonato para uma nova perseguição do time carioca em um repeteco do que acompanhamos em 2016. Resta saber como vai ser o final.

Os nove pontos de vantagem dão um respiro importante para o Alviverde, mas que na prática podem significar apenas duas rodadas já no próximo fim de semana. O confronto direto dá a chance ao rubro-negro de ficar a seis pontos do líder e com a vantagem de ter mais vitórias em um eventual empate na pontuação.

O grande trunfo de Dorival Júnior e companhia é que o time parece estar longe de bater no teto. No domingo, com reservas, ou por cima do Athletico sem nenhum dó. Os 5 a 0 com o Maracanã lotado foram mais uma mostra do poderio da equipe que tem no banco nomes como Vidal e Cebolinha. De quebra, mostraram como Felipão não tem elenco o suficiente para manter o alto nível por mais 16 rodadas em meio às outras competições. O próprio técnico pentacampeão já tinha reconhecido isso.

É bem provável que o Flamengo não precise poupar seus atletas no jogo contra o líder, uma vez que já terão enfrentado o novo duelo com o Athletico, desta vez pela Copa do Brasil, na quarta-feira. Com o jogo no Allianz marcado para domingo, os principais atletas conseguirão se recuperar em busca de uma virada que seria histórica.

Essa folga durante a semana, aliás, é uma das vantagens para o Palmeiras chegar ao grande jogo mais fresco. O time de Abel Ferreira ficou bem longe de desempenhar seu melhor futebol e, ainda assim, quebrou a invencibilidade do Corinthians no Nacional em plena Neo Química Arena, coisa que nem os flamenguistas tinham conseguido nesta competição. A união desse elenco parece não cansar de superar barreiras e é o grande trunfo.

A fase de Gustavo Gómez, Murilo e Piquerez é esplendorosa, o que traz uma confiança aos palmeirenses de que não será tão fácil ar pela melhor defesa do Brasileirão, como já havia sido mostrado também na Libertadores, quando mesmo com dois atletas a menos o time não foi vazado em plenas quartas de final.

O jogo de sábado, aliás, também deixou claro como Vítor Pereira está longe de ter um grupo capaz de brigar pelo título. Isso já estava na cara mesmo enquanto o Corinthians conseguia vencer jogos sem jogar bem. Era difícil entender como aquele nível de apresentação era suficiente para colocar o Alvinegro como vice-líder do Brasileiro. E isso já não existe mais.

Por fim, no último jogo da rodada, o Internacional se recuperou do vexame na Copa Sul-Americana vencendo o Fluminense e mantendo os comandados de Fernando Diniz a 10 pontos da cabeceira. A diferença em relação ao Flamengo é de apenas um ponto, mas o gap que existe no desempenho entre eles é muito maior do que isso.

No papel, o Atlético-MG ainda teria capacidade de tentar entrar na briga, mas os 13 pontos em relação ao Palmeiras e a vitória magra contra o Coritiba, que luta para não cair, mostram como a equipe de Cuca ainda está muito longe de se colocar como protagonista neste Nacional.

Siga também as opiniões de Danilo Lavieri no Twitter, no Instagram e no TikTok