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

OPINIÃO

Casagrande: Tite tem que pensar com um pouco mais de carinho no Gabigol

Do UOL, em São Paulo

20/10/2022 20h30

Um dos protagonistas das conquistas do Flamengo desde 2019, Gabigol foi mais uma vez decisivo em um título ao bater o pênalti contra o Corinthians no momento em que um erro poderia significar a perda da Copa do Brasil e, além de marcar o gol, chamou a atenção com a vibração. Para Walter Casagrande Jr, não apenas pelos gols que marca, mas pela personalidade e liderança, o jogador deveria constar na lista da seleção brasileira para a Copa do Mundo do Qatar.

No programa Dois Toques, ao lado de Milly Lacombe, Casagrande afirma que no lugar do técnico Tite ele convocaria tanto Pedro quanto Gabigol na lista final da seleção, chamando a atenção para a vibração do atacante rubro-negro.

"Hoje o Gabriel é muito importante para o Flamengo, o Gabriel tem uma importância gigantesca para o Flamengo e depois de ontem, depois daquela vibração de ontem, daquilo que ele fez em campo, o Tite tem que pensar com um pouco mais de carinho no Gabriel", diz Casagrande.

"São 26 jogadores e dentro de uma Copa do Mundo você precisa de jogadores com vibração, você precisa de jogadores que sentem o jogo, você precisa de jogadores que buscam a energia de fora, você precisa de jogador que chacoalha no momento de dificuldade e o Gabriel faz tudo isso além de gols. Eu levaria os dois, levaria Pedro e Gabriel".

Confira o que mais rolou de interessante na opinião dos colunistas do UOL:

Casagrande: Estava na cara também que o Fagner iria perder o pênalti

O Corinthians começou em vantagem a disputa de pênaltis com o Flamengo, com a defesa do goleiro Cássio na cobrança de Filipe Luís, mas na quarta cobrança do clube paulista o lateral Fagner acabou chutando no travessão, criando a chance de recuperação rubro-negra na decisão. Para Casagrande, a cobrança naquele momento deveria ser de um jogador com característica diferente.

"Para mim estava na cara também que o Fagner iria perder. Quando chegou na vez do Fagner, não por desconfiança do Fagner, nada disso, mas pelo estilo do Fagner como jogador, não era o momento de ele bater o pênalti na minha opinião, tinha que ser um cara mais técnico ali porque o Corinthians estava em vantagem, o Corinthians não estava em desespero, quem estava em desespero era o Flamengo e o Fagner bateu um pênalti como se o Corinthians estivesse no desespero", diz Casagrande.

Casagrande: Corinthians precisa se recuperar emocionalmente logo

A derrota para o Flamengo nos pênaltis encerrou a chance que o Corinthians tinha de conquistar um título na temporada, mas para Casagrande é preciso o clube trabalhar para não ficar tão abatido para a sequência do Brasileirão a poucas rodadas do fim, lembrando o que ocorreu com o São Paulo depois da derrota na final da Sul-Americana.

"Pelo que eu ouvi hoje, os jogadores do Corinthians ficaram abaladíssimos, ficaram desolados. Obviamente, perderam um título. Mas também joga todas as fichas, todo o lado emocional, psicológico nesse jogo, só que ainda falta o Campeonato Brasileiro para terminar e não pode acontecer como o São Paulo, ficar triste mais tempo do que o necessário, porque já vai continuar o Campeonato Brasileiro e os caras têm que recuperar emocionalmente, tem que ter uma recuperação muito rápida emocionalmente".

O Dois Toques vai ao ar toda semana, com a análise de esporte e política com Casagrande e Milly Lacombe

Quando: Toda quinta-feira, às 19h

Onde assistir: Ao vivo na home do UOL, no UOL no Youtube e Facebook do UOL.

Veja a íntegra do programa: