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

Luisa Sonza reafirma ser bissexual e justifica presença em reality LGBTQIA+

De Splash, em São Paulo

24/03/2022 04h00

Luísa Sonza estreia ao lado de Pabllo Vittar como apresentadora do 'Queen Stars Brasil', novo reality show de drag queens da HBO Max que busca formar um trio de cantoras.

Mas qual é o papel de Luísa, uma mulher cis, no comando de um programa LGBTQIA+?

A artista de 22 anos se assumiu bissexual em maio do ano ado, quando gravou uma música com Carol Biazin e deu um beijão na cantora no clipe. À época, ela pediu calma ao público, mas, mesmo não escondendo, não falou mais tanto sobre o assunto.

Nesta semana, em entrevista do lançamento de 'Queen Stars Brasil', Luísa reforçou sua orientação sexual e, quando teve de responder a pergunta feita acima, foi direta.

O 'B' [de LGBTQIA+]... O 'B' é o meu lugar, tá respondido, né?

luisa - Reprodução/YouTube - Reprodução/YouTube
Luísa Sonza dá beijão em Carol Biazin no clipe de 'Tentação'
Imagem: Reprodução/YouTube

Julgamentos e haters

Em cinco anos de carreira, Luísa já foi julgada por seu casamento, suas músicas, namorados, danças e até recebeu ameaças de morte. Nos últimos tempos e após um período afastada das redes sociais, ela parece ter criado uma casca para encarar os haters.

Se for criticada por apresentar um programa que traz 20 drags, ela adianta que não vai se abalar, pois já é muito querida no meio LGBTQIA+.

Desde quando eu tenho medo da recepção do público? Luísa Sonza, cantora

"Sempre me senti confortável, acolhida nesse lugar. Eu faço parte disso, estou do lado da Pabllo que é uma das minhas maiores inspirações. As coisas vão muito além do que os haters defendem."

Apesar do esforço para não dar bola às críticas, ela sabe o peso que carrega ao se aproximar ainda mais de um público que lida com preconceito a vida toda. "É um lugar muito sério para se estar. Desde o começo fui entendendo o meu lugar dentro disso. Eu não me sentiria confortável de fazer sozinha, mas com a Pabllo me senti muito mais confortável."

O convite para apresentar o programa veio da gravadora, e Luísa Sonza só aceitou quando soube que Pabllo Vittar — hoje uma das drag queens mais famosas do mundo — estaria ao lado dela. Em entrevista a Splash sobre o novo programa (assista completa acima), Luísa também falou sobre como a arte das drags contribuiu e inspirou o trabalho atual dela.

"É um programa só com drag queens, mas são drag queens cantoras. É onde eu me encaixo mais e me sinto mais dentro do meu universo e do meu lugar de fala. É um programa de talentos, voz, e o principal objetivo é sua performance e o seu vocal. Foi o principal quesito que me fez entender que fazia sentido estar ali."