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

Juntos há três dias, Bia Miranda e Buarque fazem trato para não transarem

Bia Miranda e Buarque estão juntos há três dias - Reprodução/ Facebook/ Matheus Mazzafera
Bia Miranda e Buarque estão juntos há três dias Imagem: Reprodução/ Facebook/ Matheus Mazzafera

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

01/04/2023 17h26Atualizada em 01/04/2023 17h27

A ex-A Fazenda (RecordTV) Bia Miranda contou intimidades do novo relacionamento com Buarque em entrevista com Matheus Mazzafera na noite de ontem. Ela assumiu o relacionamento na quinta-feira (30), após término polêmico de noivado com Gabriel Roza.

O casal revelou que ainda não teve a primeira vez: "A gente fez um combinado que não quer [transar agora], a gente quer que nossa primeira vez seja boa, entendeu?! Perfeito, não ter nada na cabeça, nem ficar estressado, nem nada", disse Bia.

"A gente fez um trato, que não posso falar, pro bagulho ser à vera, pra gente ficar maneirão", falou Buarque segundos antes ao ser indagado por Mazzafera.

Após Bia contar que não transaram ainda, Buarque confessou estar sendo difícil seguir o combinado: "Vou te falar, eu também já não tô mais aguentando esse trato não, mano".

Em quase duas horas de entrevista transmitida pelo Facebook, o novo casal também contou que se conheceram há três anos, mas ficaram apenas na amizade, e somente nos últimos dias se aproximaram amorosamente.

"A gente [eu e meu ex] estava em fase de término, entendeu? Em nenhum momento quando eu cheguei nele [para conversar] a gente trocou [ideia] de ficar dando em cima nem nada. Até porque ele tava acompanhado", disse Bia.

Já tiveram DR

Em outro momento da entrevista, os dois indicaram que já tiveram uma DR, discussão de relacionamento, sobre alinhamentos do futuro de ambos.

Matheus Mazzafera reagiu aos risos ao escutar Bia Miranda.

"Eu falei o que queria, ele falou o que esperava da gente. [...] Tudo é uma conversa, a gente não precisa brigar para saber 'não gosto disso em você', e briga. A gente senta e conversa 'olha, amor, eu queria que você mudasse isso, porque tá me machucando'", revelou Bia.