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

Flay anuncia término de noivado: 'Tudo ainda é muito estranho'

Ex-BBB Flay anuncia término de noivado - Reprodução/Instagram
Ex-BBB Flay anuncia término de noivado Imagem: Reprodução/Instagram

Colaboração para Splash, de Pernambuco

19/03/2022 20h37Atualizada em 19/03/2022 23h29

A cantora e ex-BBB Flay, 27 anos, anunciou o fim do seu noivado com Pedro Maia. Os dois selaram compromisso na festa de aniversário da cantora, em outubro do ano ado.

"Pedro e eu não estamos mais juntos como casal, mas eu sempre vou estar ao lado dele nos sonhos e no que ele precisar de mim, pois ele é uma das pessoas mais importantes da minha vida. Vou torcer e vibrar com todas as conquistas dele, assim como tenho certeza que ele também com as minhas", escreveu a ex-BBB 20 na legenda de uma publicação em seu Instagram, acompanhada de diversas fotos dos dois.

"Quero que ele foque nele, eu quero focar em mim, estou em um momento de muitas transições, questionamentos, direções. Estou vivendo um verdadeiro turbilhão dentro de mim e eu preciso me reestabelecer sozinha a partir de agora", continuou a cantora.

Flay pediu ainda compreensão aos fãs, pelo momento delicado.

"Tudo ainda é muito estranho sem ele então preciso de um tempinho para me acostumar com tudo isso, peço que sejam compreensivos conosco nesse momento", escreveu.

A cantora elogiou bastante o agora ex-noivo e afirmou não ter nada de ruim para falar sobre ele.

"Pedro é o homem mais incrível que eu já conheci, exatamente o que eu sempre pedia pra Deus em orações num parceiro. Tem um coração genuinamente gentil e bondoso, e por isso e muito mais que foi muito difícil não me apaixonar por ele. Eu o amo e continuarei amando por tempo indeterminado. Algumas coisas escapam da nossa capacidade de entender enquanto ser humano, sabe?", disse.

"E o mais f*da é que eu não tenho nada de ruim para contar pra vocês sobre ele, sobre nós, 1 ano e seis meses da história mais linda de amor romântico que já tive, e por isso eu decidi eternizá-lo assim", desabafou a ex-sister.

Em seu Instagram, Pedro também se pronunciou sobre o final do noivado.

"Quero dizer que há um tempo o meu ciclo com a Flay se encerrou, mas na certeza que tudo que vivemos foi mágico nesse 1 ano e meio. Ela é uma mulher espetacular que não tenho nada para falar dela, não houve traição, nem nada relacionado ao caráter meu e dela. Torço muito pelo seu sucesso, e o vínculo que criamos acredito que vai ser para sempre", escreveu.

Ambos receberam apoio de famosos e anônimos nos comentários das publicações.