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

Após Eliezer se aproximar para falar de votos, Natália diz: 'Não sou besta'

BBB 22: Natália conversa com as comadres sobre aproximação de Eliezer - Reprodução/Globoplay
BBB 22: Natália conversa com as comadres sobre aproximação de Eliezer Imagem: Reprodução/Globoplay

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

06/03/2022 20h56Atualizada em 06/03/2022 20h56

Na noite de hoje, Eliezer se aproximou de Natália para dizer que o voto dela poderia salvá-lo do paredão e tentar fazer com que a sister o defendesse na sétima berlinda do "BBB 22" (TV Globo). Nat, porém, não gostou muito da conversa, e avaliou que o brother, com quem já transou na casa, só chegou perto dela porque precisa de ajuda no momento.

"Eu não quero uma pessoa que fica próxima de mim só quando precisa de mim. Você acha que eu sou trouxa? Eu não sou trouxa, não. Só que pensando pelo lado lógico, realmente seria o certo. Mas nem tão certo", disse a mineira para Jessilane, no banheiro.

Depois, no quarto grunge, Natália relatou a conversa para Linn da Quebrada e Jessi. Lina reagiu após a sister contar que Eli disse que defenderia ela, caso ela precisasse, porque eles têm "alguma coisa" dentro da casa.

"Agora vem falar que tem alguma coisa? Quando não quer não tem!", criticou Linn, acrescentando que o brother só se aproximou dela hoje porque é conveniente para ele.

Jessilane também apontou que, mais cedo, Eliezer foi ao quarto grunge e sentou perto de Natália na cama e afirmou que isso é algo que o designer nunca faz. A bióloga ainda brincou que Eli estava com cara de "cachorrinho querendo pão".

"Água tá batendo na bunda", comentou Gustavo, que também estava ouvindo a conversa.

"Arrependimento real. É legal, é bom, mas...", comentou Natália.

Por fim, Natália garantiu que não foi convencida pela conversa de Eliezer, apesar de achar que os argumentos do brother são lógicos.

Eu posso fingir de sonsa, mas uma coisa que eu não sou é besta. Eu posso fingir, eu posso ter cara. Natália

BBB 22: quem o anjo Arthur Aguiar deve imunizar?

Enquete encerrada

Total de 2744 votos
45,99%
Reprodução/Instagram @bbb