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

Ex-Disney Bella Thorne já dirigiu filme pornô e vazou as próprias nudes

Bella Thorne é ex-atriz da Disney - Reprodução/Instagram
Bella Thorne é ex-atriz da Disney Imagem: Reprodução/Instagram

De Splash, em São Paulo

18/04/2023 16h29

Bella Thorne, 25, chamou a atenção de fãs e seguidores recentemente por aparecer nas redes sociais usando apenas um biquíni minúsculo da Hello Kitty.

Pouco mais de dez anos atrás, porém, Bella se destacava entre um público bem diferente: o infantil. Isso porque ela foi estrela de uma das produções da Disney.

Bella começou a carreira na infância e disse que perdeu um papel aos 10 anos, acusada de "dar em cima" de um diretor. "O diretor de elenco ligou para o meu agente e o agente liga para a minha mãe. Eles diziam: 'então, a Bella não está avançando porque o diretor sentiu que ela estava flertando com ele. Isso o deixou realmente desconfortável'", contou, em entrevista a um "podcast".

Ela ganhou notoriedade em 2010 com "No Ritmo", série da Disney que protagonizou ao lado de Zendaya. À época, também atuou nos filmes "Juntos e Misturados", "D.U.F.F." e "Aminimigos".

Em 2017, Bella começou a atuar em filmes direcionados ao público adulto, como "Assassination Nation" e "A Babá".

Conteúdo adulto

Dois anos depois, a atriz dirigiu seu primeiro filme pornográfico: o curta "Her & Him" foi lançado em 2019 no site de conteúdo adulto Pornhub.

Naquele mesmo ano, Bella "vazou" as próprias nudes no Twitter após ser ameaçada por um hacker. "Por muito tempo eu deixei homens tirarem vantagem de mim e estou cansada disso. Estou acabando com isso porque é minha decisão agora, você não tem o direito de tirar isso de mim. Posso dormir melhor esta noite, sabendo que tomei o poder de volta", disse ela, na ocasião.

Em 2020, ela abriu uma conta no OnlyFans e quebrou o recorde da plataforma ao faturar 1 milhão de dólares em 24 horas.

Pansexualidade e relações poliamorosas

Em 2019, Bella disse ser pansexual. "Você gosta de seres [humanos], você gosta do que você gosta. Não precisa ser uma garota, ou um cara, sabe, 'ele', ou 'ela', ou 'isso' ou 'aquilo'. Você, literalmente, gosta de personalidades", disse, em entrevista ao Good Morning America.

Ela já teve um relacionamento poliamoroso com o rapper Mod Sun e a youtuber Tana Mongeau. Ela também foi noiva do cantor italiano Benjamin Mascolo e, durante o relacionamento, teve um namoro com a assistente de produção Alex Martini.

Bella também se relacionou com o rapper Lil Peep, que morreu em novembro de 2017, e o também ex-Disney Gregg Sulkin.