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

Paparazzi

Luva de Pedreiro revela que vai entregar prêmio na Bola de Ouro

Luva de Pedreiro anunciou que foi convidado para entregar prêmio na cerimônia da Bola de Ouro - Reprodução
Luva de Pedreiro anunciou que foi convidado para entregar prêmio na cerimônia da Bola de Ouro Imagem: Reprodução

Do UOL, em São Paulo

15/09/2022 11h22

O influenciador Iran Santana Alves, conhecido como Luva de Pedreiro, revelou, em live realizada na manhã de hoje, que foi convidado para entregar um prêmio na cerimônia da Bola de Ouro.

A premiação, organizada pela revista Football, será realizada em 17 de outubro e elegerá o melhor jogador do mundo. Vinicius Junior e Cristiano Ronaldo estão entre os indicados, enquanto Neymar e Messi ficaram fora.

"Mês que vem vou estar lá no Bola de Ouro, não é, Falcão?", disse Iran. "Eu vou estar vestido todo de verde e vou entregar prêmio lá. É verdade isso que estou falando. Eu recebi o convite. O ingresso está aqui no meu celular", finalizou o jovem.

Em entrevista ao UOL Esporte no último dia 7 de setembro, Iran deu alguns detalhes sobre esse projeto, sem revelar que era a presença na cerimônia do prêmio Bola de Ouro. "Fiz uma gravação que nunca teve na história do Brasil. Vai sair em todo o lugar, com os maiores do mundo. A dica que posso dar é que tem 10 bolas de ouro embrenhadas no meio. São duas pessoas que juntas somam essas 10. E eu tô aí no meio, graças a Deus pai", disse.

Segundo os agentes de Iran, o cronograma da premiação ainda não foi divulgado pela Football, mas a certeza é que o influenciador estará presente no evento.

Ainda na live da manhã de hoje, o Luva de Pedreiro negou a ruptura de contrato com a equipe de Falcão e a com os agentes do tiktoker senegalês Khaby Lame. A notícia sobre a mudança de empresário foi veiculada na coluna do jornalista Léo Dias, do portal Metrópole.

Nesta semana, o influenciador anunciou uma pausa na carreira e apagou todos os vídeos e posts de sua conta no Instagram. Já na live de hoje, disse que vai retomar a carreira.

"E tem mais: eu não paro mais não de fazer vídeo. Fiquei com raiva agora. É tudo mentira do Léo Dias", declarou.

Paparazzi