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

Paulo André discute com DG ao falar das 'comadres': 'Me botaram no paredão'

BBB 22: Paulo André e Douglas Silva discutem na festa do líder Lucas - Reprodução/Globoplay
BBB 22: Paulo André e Douglas Silva discutem na festa do líder Lucas Imagem: Reprodução/Globoplay

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

24/02/2022 14h09Atualizada em 24/02/2022 17h33

Durante a última madrugada do "BBB 22" (TV Globo), na festa do líder Lucas, Paulo André e Douglas Silva acabaram protagonizando uma discussão após comentarem a tentativa de aliança com as "comadres", nome dado pelos fãs ao trio formado por Linn da Quebrada, Jessilane e Natália.

O papo começou com Douglas apontando que o atleta e o surfista estão se afastando dele, e os brothers discordaram. A conversa seguiu, e Jade Picon foi chamada para comentar alguns pontos.

A influenciadora explicou que há conflito de interesses entre ela e Paulo André, com quem vive um affair na casa, mas que eles se respeitam mesmo assim:

"Ele quer o Arthur aqui dentro, e eu não quero. Mas eu respeito isso. Se ele imunizasse o Arthur, eu não colocaria o Arthur...", disse Jade, citando a formação do quarto paredão. "Sim. E naquele momento essa era a pergunta, simples", explicou Douglas.

Scooby, então, rebateu: "Isso só era uma conversa, que existiria essa possibilidade, se tivessem duas imunidades. Se era só uma, ela era sua", afirmou o surfista, que dividia o anjo com Paulo André naquela semana — a dupla imunizou Douglas.

"Não era, irmão. A gente tinha uma estratégia em cima para defender o quarto...", seguiu o ator, e Paulo André disparou:

Mas a estratégia estava errada, DG! Não tinha os votos das meninas, a gente não tinha o voto da Lina, da Jessi e da Nat, mano. A gente não tinha esses votos, DG! A estratégia foi por água abaixo no momento que a gente soube que não tínhamos os votos das três, iam ser cinco votos jogados fora. Paulo André

"A gente não tinha certeza, cara", argumentou Douglas, e o atleta seguiu:

Como não tinha certeza? A gente estava há três semanas tentando chamar as meninas e elas não vieram e ainda estão votando em mim! Estão há três semanas votando em mim, DG! Me botaram no paredão agora, mano. Como essa estratégia ia dar certo? Paulo André

"Isso nunca aconteceu. Vou te falar uma parada de irmão, mais uma vez, igual à parada de votar na Laís... Meu irmão, vou falar mais uma vez parece que você está pensando só em você, mano. Caral**", finalizou Scooby, concordando com Paulo André.

Qual é a sua amizade favorita do 'BBB 22'?

Resultado parcial

Total de 8855 votos
16,26%
Reprodução/Globoplay