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

Luciana Bugni

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Dania no México: vítima culpada por importunação em qualquer lugar do mundo

BBB 23: Dania Mendez elogia sister do reality brasileiro - Reprodução/Globoplay
BBB 23: Dania Mendez elogia sister do reality brasileiro Imagem: Reprodução/Globoplay

Colunista do UOL

21/03/2023 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Muito se falou sobre a exposição de Dania, influencer mexicana que foi vítima de importunação sexual no Big Brother Brasil. A atitude de MC Guimê e do lutador Cara de Sapato, que culminou na eliminação dos brothers, foi amplamente debatida na semana ada. O clima de "deu ruim" encurtou a participação da moça no programa brasileiro.

Agora, de volta ao México, Dania recebeu críticas de seu ex-caso, Arturo. O rapaz disse que ela "cedeu" - como se o fato de ter se comportado de uma maneira solta quando chegou à casa brasileira a responsabilizasse pela violência que sofreu. As mais comuns são beijos forçados e adas de mão pelo corpo. Dania em uma noite viveu as duas situações. Quando foram eliminados, aliás, a primeira coisa que Sapato fez foi olhar na cara da colega e indagar "o que você falou?". Como se fosse ela a responsável por guardar o segredo (câmeras 24h espalhadas pela casa não permitiram que nada asse despercebido). Como se a mulher tivesse, além de ficar calada, que zelar pela reputação dos caras.

Quem são os caras que importunam? Conversem entre si.

Todo mundo conhece uma mulher (ou é a própria) que já sofreu os mais diversos tipos de importunação. Curiosamente, é raro que homens se assumam como pessoas que violentam mulheres. Sapato fez um vídeo tentando se defender - parece ser um cara legal - em que afirma estar em desconstrução. Confessa que assistiu aos vídeos várias vezes para entender o que havia feito de errado.

No México, entretanto, não adiantou assistir às cenas. Arturo tenta puxar a orelha de Dania afirmando que ela não deveria ficar tão próxima dos brasileiros. O próprio Fred tentou explicar a expulsão dos colegas afirmando que não se pode beijar alguém à força na TV porque tem criança assistindo. Ué, se não tiver "ninõs pequenos" online tudo bem violentar uma mulher? A régua parece estar quebrada.

Às vezes se questiona se é preciso desenhar para que os outros entendam, mas nesse caso nem o vídeo que ilustra perfeitamente o ocorrido parece sanar a dúvida masculina. É difícil demais assumir que o outro errou exatamente da mesma maneira que você erraria?

Afinal, se toda mulher já foi importunada por uma ada de mão, isso quer dizer que há muitos homens que deslizam suas mãos sem consentimento. Quem são eles?

Dania segue exposta: no Brasil ou em seu país de origem, há alguém tentando culpá-la por ter sido simpática. Falar sobre isso é importante - ainda que lamentavelmente isso desgaste mais a vítima. Mas enquanto não houver uma corrente de homens conversando entre si sobre isso na mesa do bar e reavaliando suas próprias atitudes, sem rear a culpa para a saia curta da moça ou seu rebolado, a gente não sai do lugar.

Eu prefiro achar que caminhamos um pouco. Mas que está longe do ideal, ah, isso está.

Você pode discordar de mim no Instagram.