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

Gil e Sarah, Vyni e Eli: oitava eliminação do 'BBB' separou grandes aliados

BBB 22: Eliezer se despede de Vyni - Reprodução/Globoplay
BBB 22: Eliezer se despede de Vyni Imagem: Reprodução/Globoplay

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

16/03/2022 14h16

Vinicius deixou o "BBB 22" (TV Globo) na noite de ontem após ser eliminado no oitavo paredão com uma saída emocionante, que contou com Eliezer chorando copiosamente. Ano ado, no "BBB 21", a oitava pessoa a sair do programa foi Sarah, deixando Gil do Vigor inconsolável.

Sarah e Gil

BBB 21: Gil do Vigor chora durante discurso de eliminação de Sarah - Reprodução/Globoplay - Reprodução/Globoplay
BBB 21: Gil do Vigor chora durante discurso de eliminação de Sarah
Imagem: Reprodução/Globoplay

Gil segurava forte a mão de Sarah durante o discurso de Tiago Leifert, apresentador do "BBB 21", e aparentava mais nervosismo que a própria sister. Quando o resultado foi anunciado, ele precisou ser tranquilizado pela "espiã", que repetia: "Fica tranquilo".

O brother foi para a área externa da casa enquanto Sarah se despedia dos outros participantes na sala. Desestabilizado emocionalmente, ele falava para João que não ia aguentar. "Eu vou sair semana que vem!", gritou Gil.

Ele foi até Sarah novamente, que já se encontrava no gramado, e pediu: "Me perdoa. A culpa é minha". A sister respondeu: "Pelo amor de Deus, hein? Você tem que chegar na final, viu?".

"Eu vou sair na semana que vem. Me espera", murmurou, entre lágrimas. Assim que Sarah ou pela porta, ele tornou a gritar: "Faz outro paredão!".

BBB 21: Gil do Vigor é consolado por João Luiz após eliminação de Sarah - Reprodução/Globoplay - Reprodução/Globoplay
BBB 21: Gil do Vigor é consolado por João Luiz após eliminação de Sarah
Imagem: Reprodução/Globoplay

Gil foi até o quarto, ainda gritando, e sentou na cama, onde, desesperado, começou a bater em si mesmo e esbravejar: "Era pra eu ter ido no paredão! Era pra eu ter saído!". Ele foi abraçado por João Luiz, que, aos poucos, o acalmou.

Vyni e Eli

BBB 22: Eliezer chora durante discurso de eliminação - Reprodução/Globoplay - Reprodução/Globoplay
BBB 22: Eliezer chora durante discurso de eliminação
Imagem: Reprodução/Globoplay

Enquanto Tadeu Schmidt ainda estava fazendo seu discurso, Eliezer não conseguiu conter o choro quando a amizade entre Vyni e o publicitário foi mencionada pelo apresentador.

Eliezer foi um dos últimos a abraçar o cearense na sala da casa e, em lágrimas, disse para o brother que o amava. Por último, Eli tirou o próprio colar e colocou no pescoço de Vyni, antes que ele deixasse de vez o programa. "Isso aqui é seu", falou.

"Então isso aqui é seu", respondeu o cearense, entregando seus óculos para o publicitário.

BBB 22: Eliezer é consolado por Eslovênia no quarto após eliminação de Vyni - Reprodução/Globoplay - Reprodução/Globoplay
BBB 22: Eliezer é consolado por Eslovênia no quarto após eliminação de Vyni
Imagem: Reprodução/Globoplay

Depois disso, Eli seguiu para o quarto, onde desabou em choro e foi confortado por Eslovênia. "Ele queria tanto estar aqui, ele tinha até a sandalinha dele da final. Ele me mostrou hoje. Tão lindinha...", lamentou o publicitário, fungando. "Ele tão preocupado com a 'mainha' dele...".

Após saída de Vinicius, quem é o favorito para vencer o 'BBB 22'?

Enquete encerrada

Total de 83312 votos
34,22%
Reprodução/Instagram @bbb