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

Jade tranquiliza brothers do lollipop: 'Ninguém vai direto pro paredão'

BBB 22: Jade conversa com brothers do quarto lollipop - Reprodução/Globoplay
BBB 22: Jade conversa com brothers do quarto lollipop Imagem: Reprodução/Globoplay

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

11/02/2022 00h48Atualizada em 11/02/2022 01h16

Logo após vencer a prova do líder pela segunda vez seguida no "BBB 22" (TV Globo), Jade Picon tranquilizou seus companheiros do quarto lollipop. A influenciadora disse que não colocará nenhum deles direto no paredão. Pouco antes de Jade entrar no cômodo, os participantes diziam que estavam torcendo para Linn da Quebrada sair vitoriosa na disputa.

Enquanto Jade não chegava ao quarto, Vyni, Maria, Brunna e Eslovênia falavam sobre o resultado da prova.

"Tô triste porque eu ia levar todo mundo daqui [para o vip]", disse Vyni, que chegou ate a final da prova, mas não venceu.

"Ai, gente, tô chateada", lamentou Maria.

"Eu também tô. Não vou ser hipócrita", comentou Eslô.

"Pensa que poderia ter sido a Natália, meu Deus do céu", brincou Eliezer.

Brunna, Maria e Eslovênia disseram que queriam muito que Linn da Quebrada ganhasse, para alternar a liderança. Logo em seguida, Jade entrou no quarto e tranquilizou os colegas.

Ninguém desse quarto vai direto pra esse paredão de novo. E se eu tiver que desempatar novamente, se tudo der certo... Não posso prometer nada, mas vamos que vamos. Jade Picon

Geralmente, dormem no quarto lollipop: Brunna Gonçalves, Maria, Laís, Bárbara, Vyni, Eliezer e Eslovênia e a própria Jade.

Na semana ada, logo após vencer a prova pela primeira vez, Jade disse a Arthur Aguiar que não colocaria o ator no paredão. No domingo, porém, Arthur foi indicado para a berlinda pela influenciadora, sem chance de participar da prova bate e volta.

Veja quem já ganhou a liderança no 'BBB 22'

Casa de Vidro: Larissa e Gustavo devem entrar no 'BBB 22'?

Enquete encerrada

Total de 68875 votos
50,02%
Reprodução/TV Globo