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

Corinthians

Corinthians: Alta de Róger Guedes pode ser alento às vésperas das decisões

Roger Guedes, do Corinthians, comemora gol contra o Athletico-PR pelo Brasileirão - HEULER ANDREY/DIA ESPORTIVO/ESTADÃO CONTEÚDO
Roger Guedes, do Corinthians, comemora gol contra o Athletico-PR pelo Brasileirão Imagem: HEULER ANDREY/DIA ESPORTIVO/ESTADÃO CONTEÚDO

Yago Rudá

Do UOL, em São Paulo

16/06/2022 04h00

O Corinthians não conseguiu a vitória diante do Atlhetico-PR, ontem (15), na Arena da Baixada, porém volta a São Paulo com uma notícia positiva: o reencontro do atacante Róger Guedes com o bom futebol. O crescimento do camisa 9 acontece justamente em momento chave na temporada. Ele ressurge às vésperas das decisões na Copa do Brasil e Libertadores, e dias depois da rescisão contratual de Jô.

Há algumas semanas, o assunto no clube era a relação conturbada entre o técnico Vítor Pereira e o atacante nos bastidores do CT Joaquim Grava. Depois de longas conversas, o português convenceu Guedes a ser mais flexível quanto ao seu posicionamento em campo e o atleta ter recuperado a confiança de outrora.

Além do gol de falta nos minutos iniciais da partida, Guedes registrou bons números na Arena da Baixada. Em seus 89 minutos em campo na noite de ontem, segundo os dados coletados no aplicativo Sofascore, o camisa 9 acertou três chutes em direção ao gol, criou uma grande chance, sofreu quatro faltas e ganhou dez das 15 disputas de bolas ao longo da partida. Isso, claro, sem contar o gol de falta no começo da partida.

"Neste momento não temos o Júnior Moraes [afastado por conta de uma crise alérgica] e não temos mais o Jô. Temos que criar uma dinâmica com o Róger, às vezes, em troca com o Willian. Ele tem trabalhado bem, hoje [ontem] fez um bom jogo, marcou um gol bonito, está com a atitude certa, quer ajudar, independentemente de jogar pelo meio ou por fora. Não temos um atacante para fazer pivô, quem não tem cão caça com gato. Temos que fazer essas dinâmicas para chegar na área em velocidade e é o que temos tentado fazer", elogiou Vítor Pereira ao citar a mudança de postura do camisa 9 nos treinamentos e jogos do Corinthians.

O 'retorno' de Guedes acontece justamente às vésperas dos jogos contra o Santos, pelas oitavas de final da Copa do Brasil, nos dias 22 de junho e 13 de julho, e também diante do Boca Juniors, pelo mata-mata da Copa Libertadores, em 28 de junho e 5 de julho.

Até o primeiro confronto eliminatório, o Corinthians tem apenas um jogo no calendário, domingo (19), contra o Goiás, pela 13ª rodada do Campeonato Brasileiro. A comissão técnica quebra a cabeça para encontrar maneiras de deixar a equipe competitiva, sobretudo no setor ofensivo, o que a pela manutenção de Guedes como titular na frente.

Corinthians