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

Bianca Andrade reflete sobre pansexualidade: 'Comecei a me desconstruir'

Bianca Andrade - Gabriel Bertoncel
Bianca Andrade Imagem: Gabriel Bertoncel

Colaboração para Splash, no Rio de Janeiro

09/12/2021 12h38

Bianca Andrade foi uma das convidadas do 'SaladaSato', canal no YouTube da Sabrina Sato, e contou alguns detalhes sobre como se descobriu pansexual. A empresária afirma que começou a se desconstruir ao notar algumas mudanças em suas preferências após terminar um longo relacionamento.

No bate-papo, que contava também com a atriz Monica Martelli e o influencer Yarley, a ex-"BBB20" conta que começou a namorar muito nova, aos 14 anos, e sempre acreditou ser heterossexual. No entanto, aos 22 anos, o relacionamento chegou ao fim, quis 'experimentar a vida'. "Soltou a fera, fiquei louca, chutei o balde, falei que ninguém me prendia mais e iria beijar todo mundo. Eu não me importava se era homem, mulher, trans... Eu gosto das pessoas, independente do gênero. Meu marido, por exemplo, era tão maneiro, inteligente, engraçado, que me apaixonou. Eu descobri que era pansexual e comecei a me desconstruir", revela.

No bate-papo, Bianca também diz que estava interessada apenas em mulheres antes de encarar o relacionamento com o youtuber Fred, do canal "Desimpedidos". "Meu marido tem muito mais ciúme de mulher do que de homem. Eu já tinha fechado minha porteira para homem. Por causa do machismo, é difícil ter um que realmente trate a gente como a gente merece. Mulher é mais sensual, provocante", aponta.

Desapegada

Bianca assume à Monica Martelli que assistia aos filmes de comédia romântica da atriz e acreditava que tinha algo errado consigo, já que nunca se viu 'presa' a ninguém, romanticamente. "Eu tinha dificuldade de colocar a minha felicidade na responsabilidade de outra pessoa. Eu não queria compromisso com ninguém, então eu não tinha mais esse romantismo - isso eu estou falando de um ano atrás".

Entretanto, hoje em dia, a empresária tem uma outra visão sobre esse jeito de levar a vida: "Isso é muito saudável. Ser assim, desprendida, e não colocar muita expectativa no amor, me fez conhecer o amor de verdade", garante.