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

Fabi Gomes

OPINIÃO

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

Certas notícias nos deixam sem voz, mas é preciso reagir contra feminicídio

Em casos de violência contra a mulher, precisamos estar muito atentas e vigilantes, sempre - Getty Images
Em casos de violência contra a mulher, precisamos estar muito atentas e vigilantes, sempre Imagem: Getty Images

Colunista de Universa

25/11/2022 12h23

Esses dias, assistindo ao noticiário, parei tudo o que estava fazendo para (ainda) me chocar com a notícia: quatro mulheres haviam sido vítimas de tentativa de feminicídio.

A sequência da reportagem vem em forma de golpes.

Começa assim: uma delas foi encontrada com VÁRIAS facadas, depois de briga com namorado. Antes do ocorrido, o casal foi visto discutindo num bar e por já ter sido agredida DIVERSAS vezes pelo mesmo homem anteriormente, o mesmo é considerado suspeito. Ele foi preso ao visitar a namorada no hospital. Ouvido na delegacia, foi liberado em seguida. Familiares ainda tentaram, sem sucesso, registrar o caso na Delegacia da Mulher.

Entra outra história. Uma mulher foi agredida. O agressor, seu companheiro há 15 anos, jogou álcool e ateou fogo ao seu rosto e corpo. Esse senhor ainda ameaçou esfaquear a companheira antes de fugir.

Ainda na mesma reportagem, mais um caso. Outro monstro ateia fogo ao corpo da companheira. Ele já tinha diversos registros por violência doméstica.

No último caso noticiado, em função do fim de um relacionamento, uma mulher levou oito facadas pela recusa do ex-parceiro em aceitar a separação.

Quatro histórias de horror, quatro golpes. Quando corta para a âncora no noticiário, eu tava na ânsia de um arremate, de um comentário, uma marcação necessária sobre o quanto ainda precisamos nos erguer contra o machismo e bradar sobre essa violência.

Nada. Zero. Sem comentários adicionais, sem as tantas opiniões que, comumente, ela lança. Me chamou muito a atenção, já que essa mesma pessoa se entrega com naturalidade ao jornalismo opinativo, com muito despojo. Diariamente, observo os sempre presentes gracejos sobre o tempo e outros temas.

Dessa vez, nesse momento, não veio nada. Seguindo o fio naquele estilão "Notícias Populares", quando chama para a matéria seguinte, sobre um atropelamento, a âncora retoma sua clássica demonstração de opiniões quando, indignada, finaliza com algo como "que horror!" e ainda tem tempo de também soltar um "absurdo" para encerrar reportagens sobre assaltos e golpes.

Tô omitindo nomes e detalhes, justamente pra não incorrer nesse mesmo lugar de expor e criticar mulheres publicamente. Faço isso lamentando, porque adoraria dar os créditos pra repórter da matéria sobre feminicídio.

Além disso, a gente nunca sabe o que tava rolando na hora, não é mesmo? Alguém podia tá matracando no ponto eletrônico dela sobre acelerar, chamar pros comerciais ou algo assim. Ela pode ter se distraído com alguma coisa no estúdio, pensamentos que invadem nossas cabeças nos mais variados momentos...

Comigo acontece de ficar tão atônita com certas notícias ou situações que me perco totalmente, fico solta no real, sem reação, sem saber o que fazer. Sei lá. Não dá pra apontar o dedo. Mas que precisamos estar muito atentas e vigilantes, sempre, precisamos. Especialmente em questões tão delicadas, que devem ser sempre marcadas.