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

Além do Scooby! Saiba por quem Gabriel Medina está torcendo no 'BBB 22'

O surfista Gabriel Medina declara sua torcida no BBB 22 - Reprodução/Instagram
O surfista Gabriel Medina declara sua torcida no BBB 22 Imagem: Reprodução/Instagram

Colaboração para Splash, em São Paulo

31/03/2022 16h00

O surfista Gabriel Medina revelou para qual participante do "BBB 22" (TV Globo), está torcendo. No Twitter, o atleta declarou sua torcida não só para um, mas sim, para dois brothers.

Medina avisou que dará todo o apoio para Paulo André e Pedro Scooby.

"Team Scooby e team P.A", escreveu ele na rede social.

Amizade com Scooby

Na noite de ontem, no "BBB 22" (TV Globo), Pedro Scooby deu detalhes de sua amizade com Gabriel Medina em um papo com Gustavo, Paulo André e Douglas Silva. O brother disse que já ou por momentos divertidos com o colega de profissão e relatou alguns episódios.

"Teve um aniversário do Medina que a gente zoou muito. Foi o que ele e o Ney [Neymar] se vestiram de 'Banana de Pijama'. Eu fui de pantufa, era festa do pijama", contou Scooby, referindo-se ao aniversário de 25 anos de Medina, em 2018.

O surfista mencionou também uma festa em Nova York em que Gabriel se fantasiou de Harry Potter. Na ocasião, Scooby estava fantasiado de Jack Sparrow e compartilhou um registro nas redes sociais: "Foi engraçado, a gente zoou pra caralh*", contou.

Segundo Pedro, o atleta é divertido quando não está em um relacionamento. No confinamento, o participante do "camarote" descobriu, pelos brothers da casa de vidro, que Medina se separou de Yasmin Brunet.

O Medina quando tava solteiro era um cara engraçado. Ele virava uma criança. Era muito engraçado. Eu já ei bons momentos com ele. Pedro Scooby

"Teve uma vez que teve futebol de sabão na casa dele na Bahia, no réveillon. Foi engraçado demais. Antes de pegar a bola, caía de cara", continuou.

Paulo André, então, comentou que seria uma boa ideia alugar um local para jogar futebol de sabão com seus amigos.

"É muito engraçado, mas dá pra se machucar", alertou Pedro.

Os brothers, então, se lembraram da lesão de Douglas, que machucou o tornozelo em um jogo de totó humano no reality.

"D.G se machucou no futebol parado, pô", brincou Gustavo, divertindo os colegas de confinamento.

Com a saída de Lucas, qual é o preferido do top 10 para vencer o 'BBB'?

Enquete encerrada

Total de 96187 votos
40,06%
Reprodução/Instagram @bbb