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

'Precisa haver espaço para nós', diz atriz trans de 'Pose' sobre o Emmy

Hailie Sahar em cena de "Pose" - Reprodução/IMDb
Hailie Sahar em cena de 'Pose' Imagem: Reprodução/IMDb

De Universa, em São Paulo

14/08/2020 14h59

Desde a divulgação das indicações ao Emmy 2020, a omissão das atrizes trans que compõem o elenco central de "Pose" se tornou um assunto quente nas redes sociais e entre os fãs da série — pelo segundo ano seguido, o ator Billy Porter, um dos poucos membros cis do elenco, foi o único indicado de "Pose".

Em entrevista ao Gay Times, a atriz Hailie Sahar (que interpreta Lulu) quebrou o seu silêncio sobre a polêmica. Ela disse que tem um ótimo relacionamento com Porter, e que acredita que ele "merece tudo o que está recebendo", mas que também notou o padrão da Academia de TV.

Eu teria gostado de nos ver indicadas. É como fazer uma série sobre mulheres, mas os homens são os únicos que são reconhecidos. Não quero tirar nada do Billy, quero deixar isso claro, mas precisa haver espaço para nós. A experiência trans é completamente diferente da experiência gay, e precisamos de mais representação."
- Hailie Sahar sobre ausência de atrizes trans de "Pose" nas indicações ao Emmy

Representatividade

Hailie refletiu sobre como uma maior representatividade trans na cultura pop a teria ajudado quando era mais nova. "Não havia nada, e o que eu tive que ar para chegar aqui não foi brincadeira. Fui até o inferno e voltei", definiu.

Para ela, outras pessoas trans "precisam nos ver em posições de poder e vencendo, para saber que elas podem vencer também".

Eu não me lembro de nenhum momento feliz da minha infância, porque tudo era uma luta. Tudo. Minha existência era uma luta, ganhar a aceitação de parte da minha família era uma luta, ser filha de um pastor era uma luta. Quando eu decidi o que queria fazer, parecia impossível que eu conseguisse entrar nesta indústria, sendo quem eu era. Eu ei por muita coisa, incluindo produtores que queriam transar comigo antes de me dar papéis. E não tinha ninguém me protegendo."
- Hailie Sahar reconta trajetória em Hollywood

Arte traz esperança

Atuar em "Pose" e perceber a importância da série para outras pessoas trans através de "milhões de e-mails, mensagens no Instagram, comentários no Facebook" ajudou Hailie a compreender que o que ou "valeu a pena para chegar até aqui e ser uma artista".

As pessoas estão começando a acreditar que podem ser muito mais do que o mundo diz que elas podem. Um mundo que diz: 'Você é descartável, não serve para nada. Vá engatinhar lá no canto'. 'Pose' fez essas pessoas perceberem que podem ser inteligentes, bonitas, autênticas. Que elas podem ter confiança em si mesmas e serem felizes. Deu esperança para elas."
- Hailie Sahar sobre o efeito de 'Pose' no público trans