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

BBB 22: Ludmilla está ansiosa para ver a esposa, Brunna, no reality

BBB 22: Ludmilla está ansiosa para ver a esposa, Brunna Gonçalvez, no Big Brother Brasil 22 - Reproducão/Instagram
BBB 22: Ludmilla está ansiosa para ver a esposa, Brunna Gonçalvez, no Big Brother Brasil 22 Imagem: Reproducão/Instagram

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

17/01/2022 13h00

O Big Brother Brasil 22 nem começou oficialmente e já está deixando todos ansiosos aqui fora. Ludmilla publicou uma foto em seu Instagram, mostrando sua televisão já ligada para ver a participação da esposa, Brunna, no BBB 22 (TV Globo). A dançarina Brunna Gonçalves é uma das Sisters confirmadas para o programa, que estreia hoje, nos canais Globo.

"Que ansiedade", escreveu a cantora

Ludmilla  - Captura de tela/Instagram - Captura de tela/Instagram
BBB 22: Ludmilla está ansiosa para ver a participação da esposa, Brunna Gonçalves, no reality show
Imagem: Captura de tela/Instagram

Ludmilla e Brunna Gonçalves se casaram em 2019 e renovaram seus votos em 2021, durante uma viagem ao Caribe. As duas se conheceram após Brunna fazer um teste para ser bailarina de Ludmilla, ainda como MC Beyoncé na época. As duas trabalharam juntas por muito tempo antes de Brunna ar por uma cirurgia e ter que se afastar da dança. Em seu perfil no Instagram, a dançarina publicou um pouco de sua história com a cantora, se declarando ao final e recebendo todo o carinho de volta.

"Continuando minha trajetória, assim que voltei para o Brasil, soube do teste que ia acontecer para o ballet da Ludmilla, que na época ainda era MC Beyoncé. Sempre tive um desejo muito grande de dançar com uma artista, então resolvi fazer a audição. Fui na maior expectativa do mundo, querendo muito ar… e não ei. E vida que segue, né?!


Depois de um tempo, fui levar minha amiga, que havia ado no teste, ao ensaio. Foi aí que o coreógrafo me viu e pediu para que eu ficasse para o ensaio, para um novo "teste". Ele me testou e eu fiquei lá durante um ano. Durante esse tempo no ballet da Ludmilla, eu fiz um clipe dela, o "Te ensinei certin", dancei com o MC Romântico, fiz o clipe da Lexa e depois cheguei a trabalhar no ballet da Valesca, entre outras várias experiências maravilhosas que eu nunca imaginei vivenciar. Depois disso, fiz uma cirurgia e fiquei um tempo sem trabalhar na dança.

Depois de todo esse tempo com a Ludmilla, eu pude conhecer além da artista que a o Brasil conhece, a mulher incrível que ela é e o quanto a presença dela me faz bem. Hoje, eu consigo sentir que todos os contratempos e momentos que amos, nos fizeram mais fortes, nos encorajando e, principalmente no e para tudo o que venho conquistando até aqui. Nossa conexão e o nosso amor é maior que tudo!", escreveu.

Confinada no grupo Camarote do BBB, Brunna confessou ser uma "BBBmaníaca" e disse estar preparada para entrar no programa. "Sangue nos olhos, porque eu quero aquele prêmio", comentou.

O Big Brother Brasil 2022 estreia hoje, a partir das 22h:15, nos canais Globo, com cobertura do Splash.

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.