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

Arthur pediu Maíra Cardi em casamento 4 dias após o primeiro encontro

BBB 22: Arthur Aguiar e Maíra Cardi se casaram em 2017 - Reprodução/Instagram
BBB 22: Arthur Aguiar e Maíra Cardi se casaram em 2017 Imagem: Reprodução/Instagram

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

09/03/2022 07h11

As "escapadas" de Arthur Aguiar, do "BBB 22" (TV Globo), em Maíra Cardi, sua esposa, não são nenhuma novidade fora do confinamento. Por isso, nesta madrugada, além de relembrar algumas de suas traições, o ex-Rebelde também aproveitou a conversa para relatar o início do seu relacionamento com a coach fitness.

Segundo o confinado, ele conheceu a coach pelo Instagram, e que ela o seguia antes dele ar a acompanhar o perfil dela. "Mandei uma mensagem pra ela de madrugada. Mas ela tava em uma festa e tal, não viu. Fui dormir, aí no dia seguinte veio um recado dela me respondendo, 'oi, tudo bem e tal'", disse o brother, afirmando que só teve a iniciativa após tomar conhecimento que Maíra estava solteira.

Continuou: "Ela mandou na lata, 'quer almoçar?'. Mano, na hora eu pulei da cama e falei, 'ih, caralh*. O bagulho ficou doido?".

O ex-Rebelde, então, apresentou a dificuldade deste primeiro encontro: "Mandei a localização do lugar e tal, que era em São Paulo, só que ela respondeu que estava no Rio de Janeiro. [...] Ela também me disse o nome do condomínio dele, mas estava errado, então tive que rodar a Barra inteira até encontrá-la em num condomínio com o nome parecido com o que ela tinha me falado".

Apesar das dificuldades logísticas, o primeiro encontro entre eles foi tão bom que Arthur também declarou que pediu a coach em casamento 4 dias depois.

"A gente tava se falando direto pelo celular [...] Deixei a chave do meu apartamento pra ela e tudo mais. Aí depois de um dia de trabalho, voltei pra casa e ela [Maíra] tava lá com o meu jantar pronto e tal, com a minha comida favorita. Provei o prato, olhei pra ela e falei, 'quer casar comigo?'. Ele, então, contou que a coach fitness riu bastante da proposta inusitada, mas acabou aceitando. "Aí pensei, 'caralh*'".

O brother e Maíra se casaram em 2017, em uma cerimônia surpresa organizada pela própria coach. No confinamento do reality, Arthur também ressaltou o desejo de celebrar a união com a esposa mais uma vez, mas desta vez, "apenas para poucos convidados".

Após saída de Jade Picon do 'BBB 22', quem é o favorito para vencer o jogo?

Enquete encerrada

Total de 59398 votos
44,37%
Reprodução/Playplus