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

Influencer que vendia 'puns' engarrafados se aposenta e começa a namorar fã

Influenciadora Stephanie Matto se aposenta após fazer sucesso vendendo puns em frascos - Reprodução/Instagram
Influenciadora Stephanie Matto se aposenta após fazer sucesso vendendo puns em frascos Imagem: Reprodução/Instagram

Colaboração para Splash, em São Paulo

21/01/2022 19h56

A influenciadora digital Stephanie Matto, de 31 anos, que ficou conhecida por vender seus "puns" engarrafados, decidiu se aposentar do ramo de trabalho inusitado após seguidas idas ao hospital. Ela agora fatura em seguimento de vendas online e está namorando um fã.

Em entrevista ao "Page Not Found", a ex-participante do "90 Dias para Casar", do TLC, contou que decidiu colocar um ponto final na carreira após ter sido hospitalizada com suspeita de ataque cardíaco, mas era 'apenas' gases devido ao consumo em excesso de feijões e proteínas.

A decisão de me aposentar veio de algumas coisas. O envio de potes se tornou difícil e ficou mais difícil de explicar aos correios o que eu estava enviando. Além disso, em me senti julgada por várias pessoas.

Mesmo aposentada, ela costuma seguir recebendo uma série de pedidos para voltar a vender seus puns em potes. Segundo informações que constam em seu site pessoal, a influencer deixou de comercializar puns engarrafados para vender fotos com desenhos animados de seus gases no mercado de NFTs, que são basicamente tokens não fungíveis, e funcionam como ativos digitais, dentro do universo das criptomoedas.

A famosa criou um site que vende cinco mil jarro de NFT por 0,05 éter, o equivalente a US$ 191 (R$ 1.067, na atual cotação do dólar). Alguns potes dos puns virtuais podem ser trocados por puns da vida real, enquanto outros tokens podem ser resgatados por peças íntimas usadas, como calcinhas e lingeries.

"Esses NFTs são únicos e raros como meus potes de puns reais. Você pode praticamente cheirá-los através da tela e ver como eles são deliciosos. Use sua imaginação", escreveu a tiktoker em seu site.

Paixão por um fã

Além do novo negócio, Stephanie Matto revelou ao "Page Not Found" que acabou se apaixonando por um dos seus clientes do comércio de NFTs e agora está namorando oficialmente.

O nome do rapaz ela não revela, a pedido dele, e diz não gostar de expor a vida íntima. "Na verdade, ele nunca comprou um pote de flato, só NFT. Mas quer ficar anônimo. E eu não gosto de expor a minha vida amorosa", concluiu.