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

Jake Paul diz que foi a "melhor coisa que aconteceu ao boxe" em 100 anos

Pouco modesto! Celebridade americana e também pugilista, Jake Paul vem ganhando os holofotes nos últimos meses - Icon Sportswire via Getty Images
Pouco modesto! Celebridade americana e também pugilista, Jake Paul vem ganhando os holofotes nos últimos meses Imagem: Icon Sportswire via Getty Images

Ag. Fight

17/11/2021 14h26

Em novembro de 2020, Jake Paul começou a ganhar holofotes no mundo do boxe. Em mesmo evento que marcou o retorno de Mike Tyson aos ringues, o astro das redes sociais derrotou Nate Robinson, ex-jogador da NBA, e após esse confronto ou a fazer barulho na comunidade da nobre arte.

Um ano depois deste combate, o lutador atingiu um outro patamar dentro do esporte e seus confrontos atraem a atenção de milhões de pessoas e geram bolsas astronômicas para os envolvidos. Por isso, mesmo com pouca experiência nas artes marciais, Jake já tem uma lista de desafetos com nomes como Dana White, presidente do UFC, Nate Diaz, Vitor Belfort, Tyron Woodley, entre outras estrelas.

Portanto, com todos esses holofotes voltados para o lutador, ele, como de costume, fez uma afirmação um tanto polêmica. Em entrevista ao 'Bleacher Report', o americano se colocou como o melhor acontecimento na modalidade em 100 anos.

"Eu sou a melhor coisa que já aconteceu ao boxe em um século, ponto final. As lendas concordariam. Anthony Joshua, o Mike Tyson, o Manny Pacquiao, o Tyson Fury. Todos eles disseram que o que estou fazendo no boxe é um sopro de ar fresco. Acho que esse debate começou há cerca de um ano - Jake Paul é bom para o boxe? Terminei com isso e não acho que haja ninguém do outro lado que pense que sou ruim para o boxe. Tenho uma fundação onde damos luvas de boxe ao maior número de crianças possível. Estamos andando por aí, renovando academias de boxe, inspirando os garotos para o boxe. Acho que esse esporte precisava desse renascimento", disse.

Depois de vencer o astro da internet AnEsonGib, o ex-jogador da NBA Nate Robinson, o ex-campeão do Bellator e do ONE Championship Ben Askre e o ex-campeão do UFC Tyron Woodley, Jake Paul vai retornar aos ringues no próximo dia 18 de dezembro, quando mede forças diante de Tommy Fury.