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

Yasmin Brunet critica 'exagero' em procedimentos estéticos: 'Todos iguais'

Yasmin Brunet - Reprodução
Yasmin Brunet Imagem: Reprodução

Colaboração para Splash, no Rio de Janeiro

07/02/2022 09h13

Com uma nova marca de produtos para o cabelo, Yasmin Brunet reflete sobre os valores de sua empresa e afirma que, até hoje, é uma vítima da ditadura da beleza e vive sendo cobrada - inclusive, por ela mesma.

'A gente tem que aprender a não se cobrar tanto, a se amar e se aceitar como realmente é. Sei que não é tão fácil praticar. Mas, fazendo pequenas coisas no dia a dia, você consegue entender que é uma pessoa única e que deveria ter orgulho de quem é. Seu diferencial é que ninguém pode ser você ou fazer as coisas que você faz. É preciso se aceitar e se amar por inteiro, não só fisicamente", aconselha, em entrevista à revista Quem.

Yasmin ainda desabafa sobre como a ditadura da beleza influencia na autoestima das pessoas. "Até hoje em dia eu ainda sou um pouco, não chamaria de vítima... Mas todas as mulheres ou a maioria estão presas nesta ditadura da beleza porque a gente vê isso em todo canto: quando abre o Instagram, vê uma revista, vai ao salão. As mulheres têm suas inseguranças e a gente está constantemente se comparando umas com as outras. É o pior erro que a gente faz, mas é natural, infelizmente", ite.

Procedimentos

A ex-esposa do Gabriel Medina ainda critica o fato de muitas pessoas estarem realizando procedimentos 'parecidos' e 'padronizados': "Vejo todo mundo perdendo um pouco da individualidade. Não vejo nada de errado com alguém que quer modificar algo com que não está contente. Mas as pessoas não deveriam todas quererem ser iguais, mas se modificarem dentro de sua própria individualidade, para não ficar todo mundo parecendo a mesma pessoa", observa.

Por isso, o amor próprio deve ser trabalhado dentro de cada um: " A autoaceitação é um trabalho diário e constante e que ninguém pode fazer por você. É libertador e é o ato mais revolucionário que uma mulher pode fazer hoje em dia. É se aceitar e se amar sem ficar muito presa nesses padrões de beleza impostos. (...) Não adianta estar dentro dos padrões de beleza atuais e não se sentir bonita, porque isso é algo que reflete. Uma coisa tem que estar conectada com a outra; a mente principalmente, porque ela mente para a gente o tempo, é um saco", afirma.