;(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 lamenta distanciamento de Gretchen após polêmica com Bia

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

16/09/2022 15h26

Jenny Miranda comentou sua atual relação com a família após polêmica envolvendo a filha, Bia Miranda, que teve um affair com o ex-jogador Adriano Imperador. A jovem foi selecionada para "A Fazenda 14" (RecordTV), enquanto isso, Jenny diz que vem sofrendo com o afastamento da família.

Em entrevista ao iG Gente, Jenny lamentou a falta de contato com a mãe, Gretchen, que a bloqueou das redes sociais. "Eu não sei como está a cabeça dela, não sei se ela vê, acompanha, gostaria que ela se pronunciasse. Estou sofrendo muito e ainda mais por não poder falar com ela".

"Queria que ela viesse a público, porque um amor não acaba da noite para o dia. Eu tenho amor por ela, estou sofrendo muito e ainda mais de não poder ter o a ela".

A influenciadora ainda mostrou acreditar que Bia ficará decepcionada com a família quando deixar o reality show. "Se já está sendo duro para mim, que sou adulta, imagine para ela quando sair?", questionou.

Além de ter sido bloqueada, Thammy a mandou deixar de usar o sobrenome "Miranda". Jenny, que não é filha biológica de Gretchen e ainda não teve processo de adoção pela cantora finalizado, porém, se nega a ser "deserdada" pela família até que a própria Gretchen diga para ela que não a considera mais.

"Ninguém pode tirar tudo isso que estão querendo de mim, teve um processo de adoção que corre há mais de sete anos. Ela assinou documentos, teve pedido de adoção", apontou.

"Cadê minha mãe me proibindo [de usar o sobrenome]? Até agora ela não apareceu para falar que não quer ser mais minha mãe, que não use 'filha da Gretchen'. Quem veio aí foi outra pessoa, falando isso".

A Fazenda 2022: Quem é o peão favorito para vencer o reality rural?

Resultado parcial

Total de 34226 votos
0,12%
Antonio Chahestian/Record TV