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

Grêmio

Grêmio não garante titularidade e espera 'desabrochar' de Campaz

Colombiano Campaz em ação pelo Grêmio contra o Flamengo - Lucas Uebel/Grêmio
Colombiano Campaz em ação pelo Grêmio contra o Flamengo Imagem: Lucas Uebel/Grêmio

Marinho Saldanha

Do UOL, em Porto Alegre

13/09/2021 04h00

Talvez a principal surpresa na escalação do Grêmio que venceu o Ceará na manhã de ontem (12) tenha sido a ausência de Campaz. Contratado recentemente, o meia colombiano estava em todas as projeções de equipe feitas para a partida. Mas a expectativa não foi a mesma de Luiz Felipe Scolari. Sem garantir qualquer sequência, o treinador espera que o jogador conquiste seu espaço em treinos e jogos.

"O Campaz fez seu trabalho normal durante a semana. Se tivesse uma situação diferente, entraria ou poderia jogar", explicou Felipão.

"O trabalho foi feito. Não é porque é A, B ou C que vai entrar no time, porque o torcedor entende que foi contratado para isso. Vai ter que trabalhar junto com os outros, durante os jogos e treinos. Conforme o pensamento da comissão técnica, pode aparecer ou não", completou.

Nas palavras do treinador, há a ideia de que é necessário "desabrochar" para realmente ser efetivo na equipe. Integrado há poucas semanas, ele participou de apenas dois jogos. Esteve em campo por 65 minutos no revés para o Corinthians e 31 na derrota para o Flamengo. Não conseguiu participar efetivamente de lances relevantes nos jogos até então.

Durante o período de atividades no CT Presidente Luiz Carvalho, Scolari entendeu que o melhor caminho para conquistar o resultado seria a utilização de Alisson centralizado. Depois do jogo, sublinhou a boa participação do jogador.

"Optamos pelo Alisson para dar velocidade ao setor porque precisávamos atacar o Ceará pelos lados e tínhamos dois jogadores de velocidade por ali", contou o técnico.

"Estamos resgatando alguns jogadores. O Alisson pelo meio era algo que não se usava, por exemplo. Aos poucos vamos manobrando, conhecendo, trabalhando com os jogadores", completou.

Não há qualquer garantia de sequência para Campaz. Segundo indicou Felipão, o jogador precisará se soltar mais, conhecer melhor o modelo de jogo e se encaixar nos movimentos coletivos para atuar com frequência. Até agora, na evolução apresentada pelo time, é considerado suplente.

O Grêmio pulou para o 18º lugar na classificação. Antes de voltar ao Campeonato Brasileiro, o time tricolor terá pela frente o Flamengo, pela Copa do Brasil, quarta-feira. Pode ser oportunidade para Campaz provar seu valor, já que a comissão técnica indicou a utilização de equipe alternativa.

Grêmio