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

Papo de vagina

Amy Schumer quer quebrar tabu da menstruação: 'Não temos educação sexual'

Amy Schumer  - Getty Images
Amy Schumer Imagem: Getty Images

De Universa, em São Paulo

08/07/2020 11h37

Amy Schumer quer ser "a irmã mais velha" de todas as meninas quando se trata de dar informações e quebrar o tabu em torno da menstruação. A comediante fez parceria com uma marca de absorventes internos para uma campanha que busca conscientizar sobre a forma certa de lidar com o ciclo menstrual, e remover "toda a vergonha e o estigma" em torno do assunto, segundo a People.

"As mulheres e meninas têm todas essas ideias erradas e medos [sobre a menstruação], porque não temos muita educação sexual por aí. Só 24 estados [dos EUA] exigem algum tipo de educação sexual nas escolas, é só 13 desses estados exigem que as instituições ensinem essas coisas direito, com estudos científicos devidamente atualizados", relatou.

"Então, se você não tem uma irmã mais velha, ou se sua mãe não é superatualizada nestes assuntos, é difícil encontrar alguém em quem você pode confiar neste sentido. Eu espero poder ser essa irmã mais velha, explicando as coisas que eu aprendi", disse.

Experiência própria

Para começar esse processo educacional, Amy compartilhou um pouco de sua própria jornada com a People. "Eu lembro que minha mãe tentou me informar sobre a menstruação, mas ela nunca me ensinou como colocar um absorvente interno. Eu não aprendi isso até uns bons anos depois", contou.

Muitas mulheres desistem de usar absorventes internos porque se queixam de desconforto, e Amy tem uma resposta possível para isso: "As pessoas não entendem que o seu ciclo pode mudar, e você pode precisar trocar de tamanhos. Eu só usava o mesmo que minha mãe usava. Se está doendo quando você coloca, tente um tamanho menor", recomendou.

Outra dúvida recorrente, principalmente entre novas adeptas, é a posição correta em que o absorvente deve ficar. "Eu também não sabia quão fundo colocar. Algumas mulheres não sabem que não estão colocando fundo o bastante. Você não deveria sentir o seu absorvente interno em você no dia a dia. Eu não aprendi nada disso por tempo demais", disse ainda.

Amy também comentou como o seu temperamento bem-humorado a ajudou a lidar com o ciclo menstrual na adolescência. "Quando eu comecei a menstruar, eu não entendia por que tinha que me envergonhar disso. Eu levantava a mão na sala e dizia: 'Posso ir ao banheiro?'. Se meu professor dizia não, eu respondia: 'Eu preciso trocar meu absorvente. Estou menstruada'", contou.

"Todo mundo ria, e o professor ficava envergonhado, o que me fazia pensar: 'Ah, então eu deveria ter vergonha disso?'. Eu dizia para as pessoas que estava menstruada como alguém que pergunta 'que horas são?'. Foi muito normalizado para mim, e espero que seja assim para muitas outras pessoas", completou.

Papo de vagina