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

Flamengo

Diego pede e deve integrar delegação do Flamengo no Mundial de Clubes

Querido pelo elenco, Diego Ribas pediu para ir com a delegação do Flamengo ao Mundial no Marrocos - Gilvan de Souza / Flamengo
Querido pelo elenco, Diego Ribas pediu para ir com a delegação do Flamengo ao Mundial no Marrocos Imagem: Gilvan de Souza / Flamengo

Do UOL, no Rio de Janeiro

18/12/2022 04h00

Diego Ribas anunciou a aposentadoria logo após a última rodada do Campeonato Brasileiro, mas nem por isso deixará de estar junto com seus companheiros de Flamengo no Mundial de Clubes. Um dos líderes do elenco campeão da Libertadores de 2022, o ex-meia já solicitou ao presidente rubro-negro, Rodolfo Landim, que viaje com a delegação para o Marrocos, país-sede da competição que acontecerá entre 1 e 11 de fevereiro de 2023.

  • Não. Diego não irá atuar. Sua função será apenas compartilhar experiência e exercer sua influência positiva sobre os jogadores, que nutrem muito carinho por ele.
  • Landim, por sua vez, não se opôs e deixou o ex-jogador à vontade. As lideranças do grupo também aprovam e querem a presença dele no Marrocos.
  • Ribas sente-se parte da campanha, já que participou de toda a Libertadores conquistada em 2022.
  • Diego, pelo menos por agora, também não tem intenção de assumir algum cargo no futebol. Seu foco principal são as palestras com sua empresa e também a possibilidade de continuar como comentarista de TV.
  • Ribas participou como comentarista da TV Globo no período da Copa do Mundo do Qatar. A emissora ficou muito satisfeita com o ex-jogador e tem interesse que ele continue na função, mas só que de forma fixa.
  • Diego foi tão bem avaliado pela Globo que a emissora estendeu sua participação, aumentando o número de jogos em relação ao que estava previsto anteriormente.
  • Em relação às palestras, Ribas criou a empresa chamada "Mind Player", que segundo ele, é uma "escola de inteligência emocional". O ex-meia utiliza sua experiência como atleta e a adapta para situações profissionais e de cotidiano.

O Flamengo aguarda a definição de local e data da Supercopa do Brasil para planejar a viagem ao Marrocos. A CBF, inicialmente, queria colocar o torneio no mesmo lugar do Mundial de Clubes para facilitar a logística do Rubro-Negro, mas o Palmeiras - outro finalista - reclamou e exigiu que particie ativamente da escolha. Uma reunião está prevista esta semana para tratar do tema.

Flamengo