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

Brunna Gonçalves revela plano de ser mãe com Ludmilla: 'Eu vou gerar'

BBB 22: Ludmilla e Brunna Gonçalves se casaram duas vezes, em 2019 e em 2021 - Reprodução/Instagram
BBB 22: Ludmilla e Brunna Gonçalves se casaram duas vezes, em 2019 e em 2021 Imagem: Reprodução/Instagram

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

01/05/2022 11h30

Ex-participante do "BBB 22" (TV Globo), a bailarina Brunna Gonçalves, de 30 anos, revelou que tem planos de ter um filho com a esposa, a cantora Ludmilla, de 27, num futuro próximo.

Em entrevista ao canal de Matheus Mazzafera, a ex-BBB ouviu que Ludmilla tem o desejo de se tornar mamãe e abriu o coração para revelar que ficou decidido que ela irá gerar a criança.

É o meu sonho de vida. Eu vou gerar.
Brunna Gonçalves.

Questionada se o desejo estava nos planos pós-BBB, a esposa de Ludmilla despistou para não gerar grande expectativa. "ôô, esse ano [não]! Daqui a pouco", declarou.

Brunna Gonçalves e Ludmilla estão casadas desde 2019 e celebraram a união em lua de mel nas Maldivas. Elas, no entanto, não descartam organizar um festão para celebrar ao lado de amigos e familiares.

"Está todo mundo falando. Daqui a pouco eu vou acabar fazendo. Ainda mais com a Ludmilla, que só me dá festa", finalizou.

"BBB 101"

Conhecida como "planta" no "BBB 22", Brunna Gonçalves criticou a edição do "Dia 101", programa que reuniu os ex-BBBs novamente na casa.

"Tem gente falando aí: 'A Brunna é tão planta que nem no 101 ela apareceu'. Acho que o editor não vai com a minha cara mesmo. Fui boicotada até no 101! (risos) Cadê a resposta que dei pro Tadeu quando ele sorteou meu nome, editor? Tô começando a entender porque eu fui tão 'planta'", escreveu a dançarina no Twitter.

Enquanto assistia ao programa, ela também falou sobre a edição no Instagram. "O Tadeu reuniu todo mundo na sala, tirou seis nomes da urna, eu fui das seis e eu fui a única cortada. Não ou a pergunta que ele me fez. Acho que ele [editor] não vai muito com a cara, né? Ele ou o programa todo me cortando e no Dia 101 não podia ser diferente".

A ex-BBB disse que fizeram ela "se maquiar e ficar lá o dia inteiro" para ser cortada na edição.

Eu até entendo que o programa tenha um tempo certo, não pode deixar tão grande, mas apareceu todo mundo, menos eu. Pelo menos deixasse duas pessoas de fora, pra não ficar tão assim na cara, mas não quiseram, nem disfarçaram. Brunna Gonçalves

No "BBB 22", Brunna Gonçalves foi eliminada no quinto Paredão da temporada. Em duelo contra Paulo André e Gustavo, a bailarina recebeu 76,18% dos votos para deixar o confinamento.