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

Natália e Eli discutem relação: 'Achei que você seria meu porto seguro'

BBB 22: Natália diz que Eli não pensou nela enquanto dançava com Lina - Reprodução: Globoplay
BBB 22: Natália diz que Eli não pensou nela enquanto dançava com Lina Imagem: Reprodução: Globoplay

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

05/03/2022 06h33

Depois de uma breve conversa no quarto do "BBB 22" (TV Globo), Eliezer e Natália voltaram a conversar na pista de dança da festa sobre o episódio envolvendo ele, Lina e Jessi.

O publicitário chegou a Nat e mais uma vez disse que não teve maldade na 'brincadeira' entre ele e Lina. Nat não concordou e disse que acredita que teve sim maldade pela parte das amigas.

Eliezer discordou: "Não! Até onde eu me lembro eu que cheguei e dancei sem nenhuma maldade e ponto. Tu entende que foi uma brincadeira? Sem maldade de nenhuma das partes."

"Mais ou menos. Teve maldade, talvez não da sua parte. Eu posso estar errada, mas teve. Esses comentários já vem de três dias.", contou Nat.

"Que comentários?", perguntou Eli. "Sobre brincadeiras gostosas e dividir você", esclareceu a mineira.

Natália continuou: "Eu achava que você ia ser meu porto seguro aqui dentro, eu imaginava isso, mas agora estou vendo que não é isso", desabafou.

Eliezer tentou dizer que não é isso, mas foi interrompido por Natália. "Pra mim foi muito top, muito legal mas eu não quero ficar correndo atrás de você. Eu não vou! (...) Hoje eu me sinto buscando um espaço no Eli, eu não quero isso! Eu quero que o Eliezer naturalmente me busque. É questão de carinho, de respeito. E de consideração sim, porque o que rolou hoje foi falta de consideração."

"Eu não achei que ia ter química aqui dentro, mas aconteceu. Lá fora é outra história. Não vou falar que me apaixonei por você, mas eu gostei. (...) Talvez você não tenha gostado o tanto que eu gostei e tá tudo certo.", continuou Nat. "Não, não é sobre gostar", respondeu Eli.

"Eu sou afobada por que talvez eu criei um sentimento que não deveria ter criado. Não é paixão, mas tipo, eu curti", finalizou.

Gloria Groove e Pedro Sampaio garantem o sextou dos brothers no 'BBB 22'

BBB 22: Qual é o seu casal favorito da edição?

Resultado parcial

Total de 5575 votos
6,76%
Reprodução/Globoplay
8,22%
Reprodução: Globoplay
17,94%
Reprodução/Internet
23,50%
Reprodução/Globoplay
22,89%
Reprodução/Globoplay
20,70%
Reprodução: Globoplay
A votação do UOL não possui caráter cientifico ou influência sobre o resultado do programa da TV Globo

Veja agora: 'Realities - O Brasil na TV'

A gente já conversou com os ex-BBBs arrependidos, com os que causaram polêmica e agora, em "Realities - O Brasil na TV", documentário em três episódios produzido por Splash e MOV.doc, contamos os primórdios e os bastidores dos reality shows no Brasil.

Reprodução/Globoplay

Veja aqui as principais novidades do Big Brother Brasil. Acompanhe as principais notícias e análises sobre as provas, formação de paredão, discussões, casais, enquetes e muito mais. O reality, produzido pela Globo e apresentado por Tadeu Schmidt, chega a sua 25ª edição com uma inovação: pela primeira vez, os participantes entraram na casa em duplas.