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

MMA


Jéssica Andrade lamenta fotos sensuais vazadas, mas revela: 'Já imaginava'

"Paguei meu carro e seis ou sete meses de aluguel em Las Vegas", disse a lutadora após abrir conta no OnlyFans - Yifan Ding/Getty Images
"Paguei meu carro e seis ou sete meses de aluguel em Las Vegas", disse a lutadora após abrir conta no OnlyFans Imagem: Yifan Ding/Getty Images

Ag. Fight

Ag. Fight

11/09/2021 09h52

Recentemente, Jéssica Andrade protagonizou uma polêmica fora do MMA. A ex-campeã do peso-palha (52 kg) do UFC se tornou mais uma lutadora a aderir à moda e lançou sua página no 'OnlyFans', site para a venda de conteúdo sensual exclusivo para fãs. Entretanto, um de seus s vazou parte das fotos do ensaio feito pela brasileira. Mas, se engana quem pensa que a atleta se desesperou.

Pelo contrário, Jéssica mostrou que superou a difícil situação sem qualquer tipo de trauma. Em entrevista ao site 'MMA Fighting', a ex-campeã do UFC lamentou o vazamento de suas fotos sensuais, mas até brincou com o episódio, uma vez que se julgou em ótimo estado no ensaio.

Após o susto com a divulgação indevida de seu material na internet, a atleta ressaltou que, agora, só irá disponibilizar tal conteúdo especial para fãs diferenciados, já que o ambiente virtual se tornou perigoso.

"Não fiquei chateada, porque já imaginava que isso poderia acontecer. Vi isso acontecer com outras lutadoras também. Não estava chateada, porque fiz tudo sabendo que eventualmente vazaria. Tenho 30 anos e meu corpo não ficará bonito pelo resto da minha vida, então tenho que aproveitá-lo enquanto é bom. Ninguém vai querer ver mais tarde. Achei engraçado, porque as pessoas faziam muitos memes", explicou a ex-campeã do UFC, antes de completar.

"Se eu tivesse feito aquelas fotos contra minha vontade, teria sido diferente, mas fiz isso sabendo que provavelmente aconteceria. Nem todos são honestos com você o tempo todo. As fotos foram um pacote para uma pessoa, mas você não conhece o coração e a natureza dessa pessoa e, infelizmente, aconteceu. Foi uma experiência de aprendizado. Agora, fazemos fotos, mas apenas para as pessoas certas e da maneira certa", contou a lutadora.

Vale destacar que Jéssica não é a única lutadora a se aventurar no 'OnlyFans'. Inclusive, diversas atletas recorreram ao site como uma fonte de renda extra e a aposta em tal mercado se mostrou vantajosa. De acordo com os relatos de Paige VanZant, Rachel Ostovich, entre outras profissionais, a venda de conteúdos especiais gera mais lucro do que as bolsas pagas pelo UFC. Ainda na maior organização de MMA do mundo, a ex-campeã também informou que paga suas contas com o dinheiro vindo da plataforma digital.

"As pessoas pensam que 'OnlyFans' é apenas pornografia, mas não é só isso. É uma plataforma para mostrar seu dia a dia, suas lutas, o que você faz. Estou muito feliz com 'OnlyFans'. Paguei meu carro e seis ou sete meses de aluguel, em Las Vegas. Nem usei o dinheiro da bolsa da minha última luta. Pude pagar minhas contas no Brasil, ajudar minha família e ajudar a família da Fernanda com o dinheiro do 'OnlyFans'. É bom quando você verifica sua conta e vê que o dinheiro ainda está lá", concluiu.