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

Tia Má

A luta pelo direito da humanização das pessoas negras

Getty Images
Imagem: Getty Images

Colunista do UOL

07/09/2020 04h00

Imagine ar a vida toda ouvindo que você precisa ser forte! Que deve "engolir" o choro e não demonstrar sentimentos para ninguém, pois isso é sinal de fraqueza! Cruel, né? Mas, saiba que muitas pessoas, em especial nós pessoas negras, somos educadas e criadas assim.

Demonstrar afeto, carinho, foi por muito tempo (ainda é por alguns) associado a sinônimo de fraqueza. Mas, antes de julgar compreenda que essa é mais uma herança perversa do período da escravidão, onde uma das estratégias para se manter unido aos seus e às suas era manter distância e negar os laços afetivos.

Se um escravagista percebesse a união e a relação familiar entre pessoas negras escravizadas, separavam. Assim era mais fácil dominar e castigar. Por isso, para não se perder, se negavam.

A questão é que a cobrança para que a gente siga sem demonstrar carinho entre os nossos e as nossas perdura até hoje. E nos é cobrado a todo tempo. Nossas lágrimas não comovem e não se importam com nossas dores. Por isso, acreditam que a mulher preta está sempre disposta e pronta para todo e qualquer embate.

E não só isso, é como se a gente não tivesse sentimentos. E por mais que esse olhar se negar o que sente tenha sido uma estratégia de sobrevivência, hoje é algo que nos desumaniza e faz com que as pessoas nos coisifiquem. Querem de nós a prontidão para a batalha diária e a subserviência para aceitar toda e qualquer luta que apareça!

Já observou que sempre que tem um crime de racismo, marcam e exigem que pessoas negras comentem a respeito? Será que, ninguém se dá conta, que muitas vezes, para uma pessoa preta assistir outra pessoa preta ser discriminada é reviver suas dores?

É adoecer mais um pouco e perder sua sanidade, já que temos a sensação de que a qualquer momento podemos ser a próxima vítima. E podemos mesmo! E muitas vezes, o silêncio é reflexão, tentativa de se proteger de tantas dores que nos cercam. Mas, aquele olhar coisificador e a certeza que gente preta não tem sentimento corrói todo mundo e ficam naquela ação cruel de cobrar um posicionamento de quem tem a cara, a cor e as características de quem morre também.

Por isso, a gente precisa lembrar da ação estratégia. Não demonstrar sentimento, não quer dizer que não exista. Mas pode ser a maneira encontrada para sobreviver e não enlouquecer.

Defendo e acredito que pessoas com visibilidade e que ocupam espaços de poder devem apresentar seus posicionamentos e ter uma conduta pública, mas acima de tudo que essas pessoas sejam vistas e entendidas como seres humanos.

É doloroso ser cobrada para me posicionar em todas questões, e não porque tenha posição, mas porque eu não tenho direito de escolher como vou agir! Decidiram por mim! Eu tenho que falar! Como eu me sinto não importa, como aquilo me atinge muito menos. E assim, voltamos na história.

Onde devemos esconder o que sentimos? Sentir, adoecer, ficar triste não está na lista de opções. E assim, desumanizam mais uma vez a população negra. Onde se habituaram tanto com nossas dores, que me parece nos cobram uma posição daquilo que nos mata também como forma de nos aniquilar!