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

Gretchen cutuca Jenny após ser chamada de ex-mãe, mas não cita morte do ex

Gretchen e Carlos foram casados por sete anos - Reprodução/Instagram
Gretchen e Carlos foram casados por sete anos Imagem: Reprodução/Instagram

De Splash, em São Paulo

13/05/2023 18h03

Gretchen, 63, criticou Jenny Miranda, sua filha de consideração, após saber que ela a citou como "ex-mãe" no comunicado a morte de seu ex-marido, o empresário português Carlos Marques.

Em postagem nos stories do Instagram, a cantora acusou a modelo de ser oportunista por usar um momento "que não deveria" para ganhar mídia.

"É, tem gente que não perde uma oportunidade de aparecer. Até em momento que não deveria, mas é a vida, né. Colhemos o que plantamos", escreveu a artista.

Neste sábado (13), Gretchen compartilhou fotos e vídeos de seu dia de curtição em uma praia de Portugal, mas não teceu nenhum comentário a respeito da morte do ex-companheiro — com quem teve um relacionamento de sete anos.

Gretchen ironiza a filha por chamá-la de ex-mãe no anúncio da morte do ex-marido - Divulgação/Instagram - Divulgação/Instagram
Gretchen ironiza a filha por chamá-la de ex-mãe no anúncio da morte do ex-marido
Imagem: Divulgação/Instagram

Em contato com à Quem, a cantora evitou falar sobre a morte de Carlos Marques. "Não tenho nada a declarar", afirmou.

"Fui proibida"

Há pouco, Jenny Miranda recorreu aos stories do Instagram para lamentar que Gretchen não tenha tirado um momento do seu dia para homenagear o ex-companheiro.

"Eu tinha todo o direito de dar a notícia porque a família me comunicou, tá? Por ser uma família reservada de Portugal e não ter abertura no Brasil, eu acabei postando... O Brasil merecia saber que a nossa estrelinha não está mais aqui. Tenham mais empatia e vejam o lado humano", disparou.

A pessoa está na lancha curtindo, sorrindo, dando bom dia feliz como se ele nunca tivesse existido na vida dela há oito anos. Ainda não fez homenagem.
Jenny Miranda

A modelo também explicou que a menção sobre a cantora ser sua "ex-mãe" se deu pela única forma de ter encontrado de citá-la sem pôr o seu nome por estar proibida pela Justiça.

"Gente, eu fui proibida. Judicialmente, eu fui calada, de não poder falar o nome dela, nem artístico, o nome dela, nem dos filhos dela em nenhum momento. Eu tenho novos seguidores e só foi dessa maneira que achei de explicar. Não foi pra ofender e alfinetar ninguém. Ela me desadotou e se referiu como ex-mãe", finalizou.