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

Kim Kardashian lança roupas de gravidez e recebe críticas sobre aceitação

Kim Kardashian anunciou uma linha de roupas que envolvem a barriga; Jameela Jamil lançou reflexões sobre aceitação - Reprodução/Instagram
Kim Kardashian anunciou uma linha de roupas que envolvem a barriga; Jameela Jamil lançou reflexões sobre aceitação Imagem: Reprodução/Instagram

Do UOL, em São Paulo

14/09/2020 12h23Atualizada em 14/09/2020 12h54

Kim Kardashian anunciou que vai lançar na quarta-feira (16) uma coleção de roupas especiais para o período de gestação.

Chamada de Skims, as roupas cobrem parte do corpo, incluindo a barriga. Na descrição no Instagram, Kim disse que elas oferecem "o melhor em conforto e e para a mudança de seu corpo durante e após a gravidez".

O anúncio gerou elogios, mas também críticas e reflexões sobre a aceitação do corpo feminino por parte dos seguidores.

"Do que adianta estar grávida se tem que esconder a trajetória da barriga e tudo que vem com a gravidez?", escreveu uma delas.

Alguns outros questionaram a seguridade de usar o tecido sob a barriga, querendo saber se não haveria uma pressão no local.

Kim respondeu

Kim Kardashian acompanhou a repercussão e postou uma série de textos sobre o produto. Ela afirmou que as pessoas que nunca estiveram grávidas talvez não saibam sobre "a luta de como é carregar todo esse peso" e que "a linha de maternidade não é para ser esguia, mas para dar e".

Ela ainda explicou que a "parte da barriga não afina sua barriga, é realmente transparente e um material em camadas mais finas em comparação com o resto da roupa. Ele fornece e para ajudar com o peso desconfortável carregado em seu estômago, que afeta a parte inferior das costas".

Jameela Jamil

A apresentadora Jameela Jamil aproveitou o gancho lançado para refletir sobre a aceitação.

Em um tuíte, ela escreveu que "seria tão legal se as pessoas grávidas pudessem apenas engravidar e ficar maiores e não ter vergonha, e aproveitar o milagre que acontece dentro de seus corpos e não ter que se preocupar em se sentir envergonhada / envergonhada por seu corpo estar mudando por um motivo incrível".

A atriz ainda desmentiu que Chrissy Teigen — grávida e que saiu em defesa de Kim Kardashian — tenha se referido em um vídeo publicado nas redes sociais defendendo a linha de Kim.

No vídeo, Chrissy diz que "não estamos tentando fazer nada para enganá-las, estamos grávidas. Gostaríamos apenas de nos sentir bem conosco em um momento em que mentalmente pode ser realmente desafiador".

Jameela fez um longo post no Instagram compartilhando uma notícia que Kim teria respondido a reação dela na internet. Ela disse que leu a descrição do produto de Kim antes de comentar e que falou com Chrissy — ela negou que se referiu a Jameela.

"Eu estava falando apenas sobre o discurso online sobre vergonha do corpo (que surgiu devido à reação negativa com a qual eu não tive nada a ver) durante a gravidez e as pessoas se vestindo desajeitadas para mijar em forma usam especificamente para parecerem mais magras ao invés de para apoio", escreveu.

Jameela ainda disse que estava cansada de ver seu nome "sendo usado para me arrastar para uma merda na qual não estou tentando me envolver".