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

Jessie J rebate críticas ao seu ganho de peso após sofrer um aborto

Jessie J anunciou em novembro do ano ado ter sofrido um aborto espontâneo - Getty Images
Jessie J anunciou em novembro do ano ado ter sofrido um aborto espontâneo Imagem: Getty Images

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

01/04/2022 10h41

A cantora Jessie J, de 34 anos, se manifestou contra as críticas que vem recebendo ao seu corpo após ter ganhado peso nos últimos tempos. A britânica sofreu um aborto espontâneo no final do ano ado e rebateu os comentários negativos sobre sua aparência.

"Parem de comentar sobre o peso das pessoas. Apenas parem. Ou falar para uma pessoa que ela realmente parece grávida ou que está magra. Qualquer coisa. Apenas parem", iniciou Jessie, em um texto publicado nos stories do Instagram.

A cantora explicou que engordou 4,5 kg e se sente ótima com isso. "Posso ficar assim ou não, ou posso ganhar mais peso. Quem liga? Eu não me importo, contanto que eu esteja me sentindo bem e esteja saudável", afirmou.

Jessie revelou ter recebido um comentário de um fã questionando se ela estava novamente grávida, que rebateu: "Essa pessoa sabia o que enfrentei no último ano e me disse o que ela pensava sobre isso e como eu deveria ter lidado com isso. Foi tão estranho e ousado. Eu nunca faria isso"

"Apenas não. É um não. Não é legal dizer ou comentar sobre o corpo de qualquer um, a não ser que essa pessoa - ou eu - peça a sua opinião. Isso não é necessário e também não ajuda. É doido que algumas pessoas não saibam isso", finalizou.

Aborto espontâneo

Jessie J sofreu um aborto espontâneo no final do ano ado e compartilhou uma imagem segurando um teste de gravidez para lamentar a situação.

"Na manhã de ontem, estava rindo com um amigo dizendo: 'sério, como eu faço meu show em Los Angeles amanhã à noite sem conseguir contar para o público que estou grávida?' Já durante a tarde, eu estava com medo de pensar em ar pelo show sem perder o controle… depois de fazer meu terceiro ultrassom e ser informada de que não havia mais batimento cardíacos", escreveu, na ocasião.

Ainda na publicação, ela revelou que decidiu por ter um filho sozinha. "Porque é tudo que eu sempre quis e a vida é curta. Ficar grávida foi um milagre por si só e uma experiência que nunca esquecerei e sei que terei novamente".

Jessie terminou o namoro com Channing Tatum em outubro de 2020. Em fevereiro do ano ado, ela assumiu o relacionamento com o dançarino Max Pham, mas, em outubro, revelou que estava solteira novamente.