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

Produtora da Globo acusa loja de SP de racismo: "Senti impotência e raiva"

A produtora de moda Naiara Albuquerque relata um episódio de racismo em loja do Shopping Iguatemi - Johnny Moraes
A produtora de moda Naiara Albuquerque relata um episódio de racismo em loja do Shopping Iguatemi Imagem: Johnny Moraes

Ana Bardella

De Universa

25/01/2021 16h36

A produtora de moda Naiara Albuquerque não imaginava que aria por um episódio traumático de racismo quando foi retirar peças de uma produção para Taís Araújo em um loja do Shopping Iguatemi, em São Paulo, na última quinta-feira, 21. O empréstimo das peças havia sido combinado previamente por Naiara com os responsáveis pelo marketing da grife Lool, para que a atriz usasse nas gravações da série "Aruanas", da Globo.

Juliana Souza, advogada da produtora, relata o acontecido. "Naiara chegou até a loja, onde havia uma senhora branca sendo atendida, e se apresentou à vendedora. Com desdém, a funcionária pediu que ela aguardasse lá fora e voltasse dali 15 minutos". Segundo a advogada, Naiara se retirou, por supor que se tratava de um protocolo de segurança contra o coronavírus, para evitar aglomeração no local. "No entanto, ao retornar, ela viu que havia mais clientes sendo atendidos, todos não-negros, transitando tranquilamente, sem receber nenhuma orientação para sair", contou.

Ao questionar a vendedora, Naiara, que é negra, relata ter sido tratada com descaso e ter recebido, novamente, a orientação de que "voltasse depois". Neste momento, a produtora foi embora, como ela contou à Universa.

Foi lamentável, primeiro me senti envergonhada, porque as ações aconteceram na frente de duas clientes. Depois, o sentimento é de impotência, de raiva. A gente fica frustrada e indignada diante de uma situação de racismo

No calor do momento, a produtora dividiu sua indignação com os seguidores nas redes sociais. Em seguida, contratou os serviços da advogada, para denunciar o tratamento.

"Denunciar é essencial para que situações assim não se repitam"

A advogada de Naiara, que também é negra, ressalta a importância de não se calar em situações como estas. "O Brasil é um país estrutural e institucionalmente racista. Esse racismo também a pelas relações interpessoais, como foi o caso de Naiara. É muito importante que essas denúncias sejam feitas para que situações do tipo não se repitam e nem sejam tratadas como um caso isolado."

Para Juliana, quando casos assim vem a público, encorajam outras vítimas a denunciar. "Com a exposição, mais pessoas entendem que isso não pode acontecer com nenhuma pessoa negra, independentemente da sua classe social. Somos mais de 54% da população. Não inventamos o racismo, mas somos nós que enfrentamos situações assim todos os dias. Que sirva de exemplo para outras instituições, que nossas vidas têm valor e sejamos tratadas com dignidade em quaisquer lugares nos quais desejemos estar".

Lool se retratou por meio do Instagram

Em comunicado oficial pelo Instagram, a loja afirmou que as acusações "estão em completo desacordo com seus valores". O texto também informou que Luiza Setúbal, fundadora da marca, entrou em contato com Naiara para se desculpar pelo ocorrido.