;(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-cunhada cutuca Felipe Neto: 'Homem brasileiro diz que te ama e lhe trai'

Ex-cunhada de Felipe Neto repercutiu fim do noivado do youtuber com Bruna Gomes - Reeprodução: Instagram
Ex-cunhada de Felipe Neto repercutiu fim do noivado do youtuber com Bruna Gomes Imagem: Reeprodução: Instagram

Colaboração para Splash, em Alagoas

29/12/2021 08h37

Thayane Lima, ex-cunhada do influenciador digital Felipe Neto, cutucou o famoso após ele colocar um ponto final no relacionamento com Bruna Gomes por meio de um telefonema na noite de Natal.

Sem citar nomes, Lima contou que recebeu várias mensagens de seus seguidores no Instagram querendo saber a opinião dela sobre "a fofoca que está rolando", e disse "não achar nada", mas ponderou que há "coisas que acontecem e na hora a gente não entende", mas, ressalta, "depois a gente percebe o livramento que é".

"Cheguei em casa agora e meu direct está entupido de mensagens de vocês me mandando print da fofoca que está rolando, né? Perguntado o que eu acho. Eu não acho nada, não tenho que achar nada nessa vida. A única coisa que eu acho é que tem coisas que acontecem na nossa vida, que a gente não entende na hora, mas depois a gente percebe o grande livramento que é. Entendedores entenderão", declarou.

Thayane, que é ex-noiva de Luccas Neto, irmão de Felipe, reiterou que não tem "que achar nada", mas, sim, focar em sua vida. No entanto, ela polemizou ao fazer um comparativo entre os homens brasileiros e os homens estrangeiros, ao afirmar que o brasileiro "jura na sua cara que te ama, e lhe trai", ao contrário dos gringos.

"O brasileiro jura na sua cara que te ama, que você é a mulher da vida dele, que você é a mulher da vida dele e que sempre quis na vida... E ele te trai. Acho que colocando na balança, é melhor ficar com gringo mesmo", completou.

Felipe Neto e Bruna Gomes anunciam fim do noivado

O anúncio do fim do noivado de Felipe Neto e Bruna Gomes foi comunicado pela influenciadora em seu perfil no Instagram. Em um texto compartilhado para seus seguidores, ela disse ter ficado surpresa com a atitude do youtuber, pois não houve "uma conversa franca, madura e honesta", e que o término se deu por um telefonema.

Felipe Neto também se pronunciou em postagem assinada por sua assessoria, dizendo apenas que ele continuará afastado das redes sociais pelo tempo que julgar necessário: "Felipe agradece a todos pelo carinho e preocupação, aos que acompanham há anos o seu trabalho e que torcem verdadeiramente por sua felicidade, bem-estar e saúde mental".