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

Lucas pede desculpas por 'trair' e Arthur reage: 'Poderia ter falado antes'

BBB 22: Lucas tenta esclarecer desentendimento com Arthur sobre Tiago Abravanel - Reprodução/Globoplay
BBB 22: Lucas tenta esclarecer desentendimento com Arthur sobre Tiago Abravanel Imagem: Reprodução/Globoplay

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

11/03/2022 20h21

Durante a prova de resistência do líder valendo a liderança, Lucas aproveitou para conversar com Arthur sobre o desentendimento que teve com o ator devido a Tiago Abravanel no "BBB 22" (TV Globo).

"Não sei como tá você com a parada do Tiago, mas eu queria deixar bem claro que eu tenho um carinho muito grande por você, tá ligado?", iniciou Lucas.

"Eu fiquei chateado... Só quis me afastar um pouco para eu poder organizar as minhas ideias", respondeu Arthur.

"Tudo bem, mas eu quero que saiba do meu carinho por você. Até depois dessas coisas, os meus hashtags continuaram para você", completou o estudante. "Não quero que a gente fique sem se falar pela casa porque eu fico mal para caralh*", afirmou.

O ator disse que da parte dele isso não aconteceria e que tinha ficado mal por se sentir traído pelo colega. "Eu não esperava isso de você. Acho que foi a maneira que o Eli contou", afirmou Arthur.

"Rolou um movimento em relação ao Tiago que você não me contou", completou o ator. "Eu só falei com o Eli que se fosse para escolher eu iria no Tiago, mas no sábado a noite... Eu mudei de ideia", disse Lucas.

"Mas você não falou comigo esse é o ponto", rebateu Arthur. "Não faria diferença. Eu votaria contigo. Não sinto que agi com maldade com você", disse Lucas.

"Eu senti falta de você me contar que falou com o Eli, eu soube no jogo da discórdia. Os moleques também não entenderam que você ia no Tiago", afirmou o ator. "Tá, desculpa... Vou dar o seu tempo, mas saiba que eu tô contigo", falou o estudante.

Arthur disse que não tinha como conversar com o colega porque estava com a boca muito seca e pediu para terminarem o assunto em um outro momento.

Quem vai vencer a prova individual de resistência?

Enquete encerrada

Total de 4090 votos
46,97%
Reprodução/Instagram @bbb