;(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 Scooby voltam a discutir sobre voto de surfista: 'O erro foi meu'

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

31/01/2022 04h12

Durante a madrugada de hoje na casa do "BBB 22" (TV Globo), os brothers Natália e Pedro Scooby voltaram a conversar sobre o voto do surfista que colocou a modelo no paredão da semana. Após a formação da berlinda, a dupla teve uma longa discussão no quarto grunge.

"Você entende que não me sinto segura de conversar com você sobre essas coisas? Eu sei que você ou DG vão me colocar no Paredão na primeira oportunidade. Ele [Douglas] ainda pergunta se estou bem", começou a sister, falando com um tom de voz elevado.

Douglas Silva, acompanhando a conversa entre os brothers, negou a afirmação de Natália e disse que ele é transparente. Em seguida, a emparedada revelou ao ator de "Cidade de Deus" que, até o momento, ele não é sua opção de voto.

Em seguida, Pedro, mais uma vez, recordou para sister os motivos pelos quais acreditava ter uma afinidade com ela, apesar do voto. "Eu te chamava sempre falava sobre seu cabelo, perguntava da sua vida", recordou.

"Eu entendi, o erro foi meu de não perceber que você queria se chegar, eu só mais fácil de chegar em roda", disse a sister. Continuou: "Eu só me surpreendi, mas tá tudo bem, a questão foi o motivo, você diz que não guarda, mas votou nas pessoas que votaram em ti".

Contudo, Pedro tentou contornar a afirmação de Natália. "Mas não foi só isso, foi nossa relação", disse.

"A minha situação com o Lucas mesmo, eu me aproximei depois de uma brincadeira, eu tenho essa dificuldade, são vivências diferentes" pontuou Natália.

Pedro, então, deu continuidade: "Eu não vou te falar que eu estou feliz com o meu voto, que eu estou orgulhoso. Não estou. Mas eu tinha que fazer alguma coisa. Eu tinha que indicar alguém", disse.

"Tudo bem, eu entendo. O erro foi meu. Se eu fui pelos votos da casa semana ada, o erro foi meu. Se eu fui hoje por indicação sua, o erro é meu. Eu não consegui me conectar, e isso é um bloqueio que é um problema meu", finalizou Natália.

Pedro, por sua vez, resolveu encerrar a conversa sobre o voto: "Não foi erro seu, e nem meu. Mal-entendido, vamos fechar assim"

Quem você quer que seja eliminado do 'BBB 22'?

Enquete encerrada

Total de 305093 votos
41,44%
Reprodução/Instagram @bbb