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

Corneta ao Inter? Renato ganha cachecol em comemoração de título do Grêmio

Gols Grêmio x Caxias

Gols UOL Esporte

Do UOL, em Porto Alegre

30/08/2020 20h08

Renato Gaúcho reviveu hoje (30) uma cena que tem sido rotina em sua agem atual pelo Grêmio. Ao conceder entrevista coletiva, foi surpreendido pelos jogadores que invadiram a sala de conferências da Arena e deram um banho de isotônico, água, gelo e demais bebidas no comandante para comemorar o título gaúcho. E enquanto se recuperava, ele recebeu um cachecol, colocado no pescoço por Diego Souza, que pode ser uma corneta ao Internacional.

O treinador do tradicional rival, Eduardo Coudet, tem por característica usar um cachecol preto. Em sua agem por Porto Alegre, nem sempre adotou o estilo, mas a peça de roupa o caracteriza ao longo da carreira.

Renato não colocaria o cachecol, mas Diego Souza adornou o pescoço do treinador enquanto ele se recuperava do banho. Entre sorrisos, o elenco se despediu da sala deixando Portaluppi liberado para falar após a derrota por 2 a 1 para o Caxias, mas a conquista do título gaúcho em razão da vitória por 2 a 0 no jogo de ida.

"A derrota de hoje foi um acidente de trabalho, mas o que vale é o resultado final. O Grêmio perdeu, o Caxias chegou por mérito, é um time muito bom, bem montado, que busca o resultado. Mas nós eliminamos o Internacional, e conquistamos o título. Um tricampeonato 30 anos depois. Mais um recorde, mais uma faixa no peito, mais uma volta olímpica, mais um quadro na parede. Isso é o que vale", disse o treinador.

Portaluppi sublinhou que o resultado valeu mais do que o rendimento da equipe, que sofreu a virada. Na avaliação do treinador, a conquista supera qualquer percalço do caminho.

"O Brasil de 82 foi a maior seleção que eu vi jogar, mas voltou cedo para casa, infelizmente. Às vezes você precisa jogar com o regulamento da competição, precisa ganhar. Eu tenho visto alguns clubes de São Paulo pensarem desta forma. Não dá pra jogar bonito, joga pelo resultado. E no Brasileiro, não no Estadual. No final da história, a partir de hoje vamos começar a ler: campeão gaúcho de 2020 é o Grêmio. Ninguém quer saber o que houve nos 90 minutos. O juiz acabou o jogo, doa a quem doer, o campeão é o Grêmio. Sei que vai ter gente triste, mas vai ter que escrever, ouvir, falar, o Grêmio é tricampeão, e ponto final", salientou Renato.

Foi o sétimo título do Grêmio em quatro anos sob comando do treinador.

"Minha equipe não esteve em seus melhores momentos, principalmente no segundo tempo. Mas o que importa é a volta olímpica. Vencemos o campeonato todo, não só este jogo. Conseguimos uma vantagem em Caxias, hoje saímos na frente e, de repente, sentamos no resultado, na vantagem, fizemos algumas coisas erradas. Mas, isso eu converso com meu grupo", acrescentou Renato.

"Só faz história quem é campeão. Mais uma vez este grupo foi. Não vamos jogar bem todos os jogos, mas queremos conquistar os títulos. Trabalhamos para dar alegrias ao nosso torcedor. Hoje, ficamos tristes pelo estádio vazio, mas nosso torcedor pode se sentir abraçado porque o Grêmio é campeão", finalizou.

Grêmio