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

'Ragatanga' da união e cabelo queimado: a madrugada de festa no BBB 23

BBB 23: Sisters na Festa do Líder de Aline Wirley - Reprodução/Globoplay
BBB 23: Sisters na Festa do Líder de Aline Wirley Imagem: Reprodução/Globoplay

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

06/04/2023 06h55

Na madrugada de hoje, os participantes do BBB 23 (Globo) curtiram a última Festa do Líder da temporada — que foi de Aline Wirley, com o tema anos 2000. Em clima de comemoração, todos — quase — deixaram as diferenças de lado.

Confira os destaques da noite abaixo!

Aline é surpreendida com música do marido

Aline desabou ao ouvir a música "A Gente Ecoa" — que ela havia deixado gravada com o marido, Igor Rickli, e ainda não havia sido lançada.

Aline: "Amor, eu te amo tanto! Não tô acreditando nisso!"

Amanda reclama da pista vazia

BBB 23: Amanda reclama de rivais na festa de Aline Wirley - Reprodução/Globoplay - Reprodução/Globoplay
BBB 23: Amanda reclama de rivais na festa de Aline Wirley
Imagem: Reprodução/Globoplay

Por sua vez, Amanda reclamou com Aline que os brothers do Quarto Fundo do Mar não estavam curtindo a pista de dança.

Amanda: "A gente, na festa dos outros, fica na pista independente de qualquer coisa. É respeito, né?"

"Ragatanga" une os rivais

BBB 23: Top 9 dança Ragatanga no palco da Festa do Líder de Aline - Reprodução/Globoplay - Reprodução/Globoplay
BBB 23: Top 9 dança Ragatanga no palco da Festa do Líder de Aline
Imagem: Reprodução/Globoplay

Em pé de guerra, os quartos Deserto e Fundo do Mar fizeram uma "trégua" na Festa do Líder quando "Ragatanga" começou a tocar.

Os brothers do Top 9 já haviam entrado na festa ao som do clássico do Rouge, banda da qual Aline fez parte, mas subiram todos ao palco quando a sister cantou a música.

Fogos queimam cabelo de Domitila

BBB 23: Domitila tem cabelo queimado por fogos na pista de dança - Reprodução/Twitter - Reprodução/Twitter
BBB 23: Domitila tem cabelo queimado por fogos na pista de dança
Imagem: Reprodução/Twitter

Domitila teve um pequeno problema durante a festa: as pontas de seu cabelo foram queimadas pelos fogos cenográficos da pista de dança.

"Queimei meu cabelo, velho", disse a modelo ao sentir o cheiro de queimado.

"Mas foi um pouquinho só?", questionou Ricardo, ao que Domitila assentiu.

Indiretas no karaokê

BBB 23: Cezar Black e Ricardo Alface trocam farpas na Festa do Líder - Reprodução/Globoplay - Reprodução/Globoplay
BBB 23: Cezar Black e Ricardo Alface trocam farpas na Festa do Líder
Imagem: Reprodução/Globoplay

Cezar Black e Ricardo Alface trocaram farpas enquanto cantavam juntos no karaokê da festa.

Ao som de "Volta Comigo BB", de Zé Vaqueiro, Alface aproveitou para falar sobre um de seus principais rivais no jogo: "Eu voto em você".

O enfermeiro devolveu a "direta" para o adversário quando cantou "We Are Carnaval": "Você vai conhecer o próximo Paredão, Facinho".

Enquete UOL BBB 23: Fim da 'Festa do Líder'. Qual foi a melhor da edição?

Resultado parcial

Total de 1356 votos
1,40%
Reprodução/Globoplay