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

Mês do Orgulho LGBTQ+

As Bahias e a Cozinha Mineira: "Mostramos o que pessoas trans podem fazer"

O trio Raquel Virginia,  Rafael Pereira e Assucena, do trio As Bahias e a Cozinha Mineira - Pedro Dimitrow/Divulgação
O trio Raquel Virginia, Rafael Pereira e Assucena, do trio As Bahias e a Cozinha Mineira Imagem: Pedro Dimitrow/Divulgação

Luiza Souto

Da Universa

10/06/2019 04h00

"Não me enrole não, que eu sou mulher de botar pra quebrar", avisam as cantoras Assucena Assucena, e Raquel Virginia no novo -- e terceiro -- álbum d'As Bahias e a Cozinha Mineira, "Tarântula". Completa o trio o mineiro Rafael Pereira. Perto de sair em turnê pela primeira vez com uma grande gravadora (Universal), elas, mulheres trans, justificam de onde vem essa intensidade do recente trabalho, que transita entre o romance e a violência, o samba e o pop.

"Estamos alcançando nosso espaço e fazendo com que pessoas como nós vejam que existem possibilidades para elas também. Recebemos mensagem de gente que deixou de se matar porque nos viu e encontrou uma perspectiva. Somos bem-sucedidas porque estamos fazendo a sociedade enxergar o que as pessoas trans conseguem fazer", diz Assucena, 30, de Vitória da Conquista (BA).

O trio batizou o álbum com o nome de uma operação policial paulistana realizada em 1987 e que perseguiu mais de 300 travestis com a desculpa de combater a Aids. Mas tarântula também tem outro significado: o aracnídeo está em constante transição.

"Uma das nossas características é essa: de mudar, ter vários nortes", aponta Raquel Virginia, 30. Acordada desde as 4h para as atividades do dia como boxe, dança e academia, a paulistana que morou em Salvador frisa, no entanto, que a arte não é o único meio usado pelo trio para denunciar a violência, seja ela contra gays, negros, mulheres, pessoas trans.

"Quando você é minoria, pode ser muito difícil a exposição como entrar numa padaria. Mas quando se joga de cabeça e se comporta naturalmente, acaba inspirando as pessoas. Por isso, saio mostrando no Instagram um lado legal da minha vida, que é fazer esporte, minha alimentação vegana, as aulas de jazz".

"Vai morrer, viado"

ada a euforia das eleições presidenciais, as duas item não ter a rotina alterada quando ouvem perguntas sobre perseguição e preconceito ao público LGBTQ+: elas já avam por isso bem antes.

"Eram amigas chorando pedindo pra gente tomar cuidado ou pessoas ando de carro e gritando: 'vai morrer, viado'", relata Assucena, que conheceu Virgínia e Rafael enquanto estudava História, na USP. Sim, duas mulheres trans -- uma delas negra -- na universidade pública.

"O que o Bolsonaro faz é atacar políticas públicas que estavam ajudando a reduzir essa desigualdade entre a população LGBTQ+ e negra nesses espaços. É assustador, e não existe plano de mudança para isso nos próximos anos. Manterei minhas atividades para evitar que a gente desapareça", promete Raquel. Assucena endossa:

"Enquanto a ministra de Direitos Humanos não considerar família LGBTQ+ ou falar que meninos vestem azul e meninas vestem rosa, ela está invisibilizando esse público. Se essas pessoas não são dignas para esse governo, isso é muito grave".

A turnê de "Tarântula" acontece no segundo semestre. O trio prepara ainda materiais explicativos sobre a operação de mesmo nome.

"A ideia é fazer uma homenagem à memória das pessoas que resistiram e acabaram perdendo as vidas", justifica Assucena.

Mês do Orgulho LGBTQ+