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

Piovani celebra volta de Scooby a Portugal após o BBB 22: 'Mamãe de férias'

Luana Piovani comemora volta de Scooby para Portugal - Reprodução/Instagram
Luana Piovani comemora volta de Scooby para Portugal Imagem: Reprodução/Instagram

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

01/05/2022 14h18

A atriz Luana Piovani, de 45 anos, dividiu com seus seguidores, na manhã de hoje, que irá entrar no modo férias com a volta do surfista Pedro Scooby, de 33, a Portugal após três meses confinado no "BBB 22" (TV Globo). Ele irá ficar com os filhos para lhe dar descanso.

Por meio dos stories, no Instagram, ela contou que os filhos Dom, de 10, e os gêmeos Bem e Liz, de 5, não irão para a escola para poderem recepcionar e curtir o pai na manhã desta segunda-feira (2).

"Vai começar novamente a semana de férias. O Pedro chega amanhã bem cedo, as crianças já vão dormir bem cedo para recebê-lo, porque ele chega seis horas da manhã. Nem vão para a escola amanhã, vão aproveitar o papai, e a mamãe vai voltar a ter férias. Mamãe vai fazer um pitstop [parada]", disse Luana.

A atriz revelou que pretende viajar, mas não tem nada planejado e pretende se organizar nos próximos dias em que não terá os filhos em casa.

Papai chegando, e mamãe volta a ter férias, é isso. Eu estava com uns planos já organizados, mas acho que eu vou só viajar agora, não tenho planos para depois. Será que vai estrear a minha peça? Será que Deus tirou uma coisa da minha mão e colocando outra.
Luana Piovani

Emoção

Assim que foi eliminado do "Big Brother Brasil 22", Pedro Scooby assistiu a um vídeo do filho Dom pedindo ajuda nos mutirões para mantê-lo na corrida pelo prêmio de R$ 1,5 milhão e caiu no choro ao falar da falta dos filhos.

Era a coisa que mais pesava lá dentro? Era a saudade deles.
Pedro Scooby

BBB 22: Scooby chora ao ver vídeo de filhos - Reprodução: Globoplay - Reprodução: Globoplay
BBB 22: Scooby chora ao ver vídeo de filhos
Imagem: Reprodução: Globoplay

Reprodução/Globoplay

Veja aqui as principais novidades do Big Brother Brasil. Acompanhe as principais notícias e análises sobre as provas, formação de paredão, discussões, casais, enquetes e muito mais. O reality, produzido pela Globo e apresentado por Tadeu Schmidt, chega a sua 25ª edição com uma inovação: pela primeira vez, os participantes entraram na casa em duplas.