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

Jenny Miranda chora em vídeo após briga com a filha: 'Sofrendo'

Jenny Miranda e a filha, Bia - Reprodução/Instagram
Jenny Miranda e a filha, Bia Imagem: Reprodução/Instagram

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

29/08/2022 08h05

A filha da cantora Gretchen, Jenny Miranda, de 33 anos, voltou a desabafar sobre a briga com a filha, Bia, de 18 anos. As duas aram a se estranhar após a neta da rainha do rebolado ficar com o ex-jogador de futebol, Adriano Imperador, de 40 anos.

"Eu só sei chorar. Quem é mãe sabe o que devo estar sentindo. Ainda mais sofrendo com injustiça", disse Jenny no Instagram.

Jenny ainda disse estar em depressão por conta da situação atual com a filha:

"Está muito difícil tudo isso, essa situação armada, esse show todo. Quem me acompanha sabe que sofro depressão há anos, tem relatos aqui. Estou sofrendo com tudo de novo. Meu psicológico está abalado, estou a base de remédios. A verdade sempre vem à tona, não demora muito tempo e aí todo mundo vai saber quem está mentindo nessa história. Peço que Deus me dê forças até lá. Estou com crises de ansiedade, fui medicada. Tinha dado uma parada, porque tinha melhorado, mas tive que voltar".

Entenda a confusão

A história foi publicada pelo jornal Extra. Segundo a publicação, Bia e Adriano haviam ficado pela primeira vez há cerca de duas semanas e estariam vivendo um affair. A matéria informava ainda que Gretchen não tinha gostado nada de saber do envolvimento em razão da diferença de idade entre os dois.

A "Rainha do rebolado" negou toda a história. "Acabei de ver uma notícia ridícula falando que a minha neta tá com o Adriano Imperador, que eu sou contra. Primeiro que ela não tá com ele, notícia falsa. Quem plantou essa notícia tá mentindo", disse Gretchen.

"Segundo que, se ela tivesse com o Adriano, eu não tenho nada contra ele, pelo contrário. Ele é uma pessoa muito do bem e na nossa família esse negócio de diferença de idade não existe. Então, se eles quisessem ficar, eu não tenho nada a ver com isso", afirmou.

Bia confirmou a ficada

Porém, no mesmo dia, Bia confirmou que ficou com o ex-jogador. Ela também expôs crise no relacionamento com a mãe, afirmando que Jenny também queria ficar com Adriano.

"Sobre isso que está repercutindo, eu não iria falar nada até porque já foi tudo resolvido, mas como minha mãe Jenny Miranda quer tanto a fama dela que a [em cima] da família pra ter isso, eu vim falar. Tenho 18 anos sim, foi minha responsabilidade ficar com Adriano", escreveu a jovem nos Stories do Instagram na noite de ontem.

"Eu quis ficar com ele e ninguém tem que se intrometer nisso, me sustento sozinha, minha mãe sabia sim desde o começo e brigou comigo, porque quem quis ficar com ele pra ter fama e dinheiro era ela, porque ela já está desesperada pra ter isso", continuou Beatryz.

Ela ainda afirmou que foi Jenny quem vazou a história para a imprensa.