;(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 relembra aniversário da filha: 'Só tocou louvor, do início ao fim'

BBB 22: Arthur Aguiar conta como foi o aniversário de 3 anos da filha, Sophia - Reprodução/Globoplay
BBB 22: Arthur Aguiar conta como foi o aniversário de 3 anos da filha, Sophia Imagem: Reprodução/Globoplay

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

25/04/2022 18h39Atualizada em 25/04/2022 18h41

Na tarde de hoje, no "BBB 22" (TV Globo), Arthur Aguiar contou para Douglas Silva e Paulo André como foi o aniversário de três anos de sua filha, Sophia. Segundo o ator, a festa foi "inesquecível" e teve como trilha sonora apenas músicas do estilo gospel.

"Foi num espaço próximo da nossa casa que é muito sinistro. É aberto, é mais pra casamento, mas é muito bonito. E a previsão era chuva e a gente bancou a ideia: 'vai fazer sol'. Era 80% de [chance de] chuva. Fez sol. Sol sem nuvem. Não tinha explicação", começou.

As pessoas que foram na festa, que não foi pra muita gente, mas um numero considerável de pessoas, falaram que energia que tinha naquele lugar, naquele dia, era uma parada muito surreal. Porque era uma festa de criança que só tocou, do início ao fim, louvor. [...] Todo mundo que foi na festa falou: 'Que parada sinistra'. E a Sophia cantando tudo. Foi uma vibe muito maneira. Esse dia foi inesquecível. Arthur Aguiar

Arthur contou que, no dia anterior, a organizadora da festa questionou se realmente deveria montar a estrutura da comemoração na externa mesmo com a previsão de chuva. Ele e Maíra Cardi, sua mulher, insistiram que sim.

"A gente tinha orado pra caramba no dia anterior. Não choveu. Se tu ver as filmagens, você vai falar: impossível. Era céu azul. Acabou a festa, chuva", disse. "Esse dia foi bizarro. Muito maneiro", concluiu.

Nas redes sociais, Maíra Cardi compartilhou registros da comemoração, que aconteceu em outubro do ano ado:

Quem você quer que vença o 'BBB 22'?

Enquete encerrada

Total de 550524 votos
54,74%
Reprodução/Instagram @bbb