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

Ludmilla rebate pergunta sobre viajar sem a mulher: 'Não nascemos grudadas'

Ludmilla pede para Brunna Gonçalves parar de falar da vida pessoal nas redes sociais - Reprodução/Instagram
Ludmilla pede para Brunna Gonçalves parar de falar da vida pessoal nas redes sociais Imagem: Reprodução/Instagram

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

04/07/2022 20h17

A cantora Ludmilla, de 27 anos, se incomodou com uma pergunta de uma internauta sobre o motivo de sua mulher, a bailarina Brunna Gonçalves, não ter viajado ao seu lado para Londres. Sem papas na língua, ela deixou claro que não precisa dar satisfação da vida pessoal a ninguém.

Uma seguidora curiosa marcou Brunna Gonçalves em uma postagem no Twitter para questionar o motivo dela não ter viajado para a Inglaterra na companhia da cantora. "Só queria saber por quê você não foi com a Lud nesta viagem", afirmou a usuária chamada Sandra.

A bailarina, então, respondeu à questão afirmando que as agendas de trabalho de ambas não tiveram como serem alteradas para viajarem juntas.

"Eu só não consegui acompanhá-la nessa viagem porque eu tenho uma campanha mega importante para fazer esta semana. E isso acontecerá mais vezes, então, eu espero não precisar ficar vindo aqui falar toda vez que isso acontecer", explicou ela.

Ludmilla, no entanto, subiu o tom e aconselhou Brunna Gonçalves a parar de responder perguntas relacionadas a vida pessoal nas redes sociais. Ou ela ará a vida dando satisfação do que faz e deixa de fazer.

Amor, se eu fosse você, parava de responder esse tipo de pergunta. Se essa moda de ficar dando satisfação toda vez que a gente dá um o diferente pega, já viu. Sei que não é por mal que elas perguntam, mas a galera precisa entender que não nascemos grudadas.
Ludmilla

Nos comentários, os fãs da cantora não ficaram em cima do muro e apoiaram a cutucada na seguidora. "Fala mesmo, Lud", escreveu uma internauta. "Solta os cachorros, mulher", brincou outro fã. "Tô amando essa fase da Lud fala tudo", afirmou um terceiro seguidor.

Homenagem inusitada

No fim de junho, Ludmilla presenteou a mãe, Silvana Oliveira, com várias notas de R$ 100 para comemorar o seu aniversário. De uma forma inusitada, o dinheiro foi entregue com uma mensagem escrita "eu te amo" no chão do quarto.

Em Stories publicados no Instagram, a cantora desejou feliz aniversário para a sua mãe e mostrou a reação ao fazer a surpresa para Silvana. "Recolhe. Olha os bolinhos espalhados", disse Ludmilla.

Logo depois, Silvana também fez uma publicação para agradecer o presente da filha. "Meu presente, gente. Olha. Não é nota de mentira, é tudo de verdade", afirmou ela.

Ludmilla presenteia a mãe com notas de R$ 100 em formato de "eu te amo" no chão - Reprodução/Instagram - Reprodução/Instagram
Ludmilla presenteia a mãe com notas de R$ 100 em formato de "eu te amo" no chão
Imagem: Reprodução/Instagram