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

'O futebol não seria o que é': Richarlison exibe tatuagem e homenageia Pelé

Richarlison exibe tatuagem e homenageia Pelé após morte - Reprodução
Richarlison exibe tatuagem e homenageia Pelé após morte Imagem: Reprodução

Do UOL, em São Paulo

30/12/2022 20h14

Richarlison exibiu a tatuagem com o elogio que recebeu de Pelé na Copa do Mundo para homenagear o Rei do Futebol, que morreu ontem aos 82 anos.

  • Camisa 9 na última Copa do Mundo foi elogiado por Pelé após a eliminação da seleção brasileira no Qatar
  • "Você fez o Brasil sorrir", escreveu Pelé nas redes sociais
  • Depois da Copa, o Pombo tatuou a frase, além de desenhos do próprio rosto e dos rostos de Neymar e Ronaldo Fenômeno.

(...) No fim das contas, sempre que ouço falar dele [avô] me lembro que, se não fosse o Rei, talvez vô João não fosse apaixonado por futebol e não tivesse ado adiante essa paixão para o meu pai, que trouxe até mim. Talvez eu não chegasse onde cheguei. Mas, muito mais do que isso, com toda certeza o futebol não seria o que é."
RICHARLISON

Mensagem de Richarlison para Pelé

Cresci ouvindo meu avô falar sobre o Pelé. Ele contava que parava tudo o que estava fazendo pra ouvir os jogos na rádio. Para ele, foi um privilégio acompanhar a carreira do maior de todos e ele sempre dizia que ninguém se comparava ao Rei.

Obviamente eu não tive essa oportunidade de vê-lo jogar, mas fui entender a grandeza do Pelé quando virei jogador e cheguei à Seleção Brasileira. Só então tive noção do que ele realmente representava e a importância que ele teve para o futebol, para o Brasil e para o mundo. Não é à-toa que quando uma pessoa é a melhor naquilo que faz, o chamam de Pelé daquela coisa.

Nos últimos tempos, tentei de todas as formas conhecê-lo e dar um abraço nele. Nem que fosse só por um minuto, queria encontrar com ele. Era um sonho que me faltava realizar. Obviamente, sabia das dificuldades por conta da agenda e, depois, o estado de saúde dele.

Não consegui realizar esse sonho, mas em um momento tão triste quanto a nossa eliminação na Copa, acho que talvez o que me deu mais forças pra superar aqueles dias difíceis foi uma mensagem que ele me mandou me dando força e que resolvi deixar marcada pra sempre, junto com o seu autógrafo. Aquilo significou o mundo pra mim.

Esse ano eu também perdi o meu avô, que foi uma das pessoas que mais me incentivaram a jogar bola. E, no fim das contas, sempre que ouço falar dele me lembro que, se não fosse o Rei, talvez vô João não fosse apaixonado por futebol e não tivesse ado adiante essa paixão para o meu pai, que trouxe até mim. Talvez eu não chegasse onde cheguei. Mas, muito mais do que isso, com toda certeza o futebol não seria o que é.

Obrigado, Rei!

Veja a trajetória de Pelé em fotos