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

Bruna, ex de Felipe Neto, sai da empresa do youtuber e relembra término

Bruna Gomes - Reprodução/Instagram
Bruna Gomes Imagem: Reprodução/Instagram

Colaboração para Splash, no Rio de Janeiro

23/02/2022 09h00

Bruna Gomes está em uma nova fase de sua carreira e, especialmente, na vida pessoal. Após cerca de dois meses do término com Felipe Neto, a influencer voltou às redes sociais com uma nova proposta aos fãs: como saiu da empresa do youtuber, agora seus vídeos não têm um roteiro pronto e são mais orgânicos.

Nos novos vídeos, Bruna faz questão de abrir o jogo sobre como a separação a deixou abalada e não disfarça as olheiras das noites mal dormidas, além de ter chamado atenção dos fãs por estar mais magra.

"Em algumas noites eu dormia só por duas horas. (...) ei por um mês superdifícil, tentando processar tudo o que aconteceu na minha vida, mas agora, mais de um mês depois, eu não tenho mais dúvidas sobre mim. Foi muito doloroso, tem muitas feridas abertas ainda. Eu não posso negar que nesse meio tempo eu pensei em desistir", lamenta em bate-papo com os seguidores.

Bruna enfrentou a depressão há dois anos e demorou um tempo para se recuperar: "Eu tive uma depressão muito profunda, eu cheguei a duvidar de mim de todas as formas. Achei que estava no lugar errado, fazendo as coisas erradas, que tinha escolhido a profissão errada, você pegaram na minha mão e disseram que tudo ia dar certo".

Aliás, Bruna também retorna com outra mudança em sua vida: a influencer removeu uma tatuagem que fez nesse período - um Hamsá, mais conhecido como Mão de Fátima.

"Quando eu fiz, achava que era a coisa certa. Estava ando por um período muito difícil, em 2019, era uma energia muito negativa, muito ruim mesmo, e eu não sabia explicar o que era aquela sombra, depois veio o início de 2020 mais difícil ainda e culminou com a pandemia. Eu tive a depressão, e no começo de 2020 decidi fazer essa tatuagem. Não me arrependo do desenho, adoro. Mas o momento que ela simboliza me traz muitas coisas ruins que eu só quero esquecer", explica.

A influenciadora digital segue trabalhando para expandir a sua marca de roupas, criada no ano ado, e pretende mostrar um pouco mais de sua vida aos seguidores. Antes, Bruna evitava compartilhar detalhes de sua vida pessoal e não tinha muitos registros ao lado de Neto - o que era cobrado pelos fãs. "Hoje estou transformada. Me sentindo eu mesma, mais forte do que nunca e com a certeza do que sou e do que eu quero. Eu não vou falar que foi fácil ter chegado até aqui, mas do fundo do meu coração, o sentimento de agora não tem preço, isso é valioso demais", garante.