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

Natália conhece quadra da Beija-Flor e se emociona: 'Vou ficar maravilhosa'

Natália no "Fantástico" - Reprodução/Globo
Natália no 'Fantástico' Imagem: Reprodução/Globo

Colaboração para Splash, de Pernambuco

17/04/2022 23h11

Eliminada do "BBB 22" na última terça, Natália Deodato recebeu uma surpresa: foi convidada para desfilar no carnaval 2022, com a Beija-Flor. No "Fantástico" (TV Globo) de hoje, ela demonstrou estar emocionada ao visitar a escola.

"Que trem lindo. Meu Deus. Vou ficar maravilhosa", brincou Nat, ao conversar com Almir Reis, presidente da escola, e ver o carro onde desfilará e um projeto de sua fantasia.

natalia - Reprodução/TV Globo - Reprodução/TV Globo
Natália viu desenho de fantasia que usará em desfile
Imagem: Reprodução/TV Globo

Almir aproveitou a ocasião para exaltar a ex-sister.

"Esse carro representa todas as pessoas que escrevem ou contam sua história. E tem tudo a ver com você e o que a gente viu no programa", declarou.

Nat já tirou as medidas e sambou um pouco em cima do carro, já se preparando para o desfile.

Daniela, mãe de Natália, se emocionou ao falar sobre as conquistas da filha.

"Ela ou comigo tudo. Eu tive ela com 15 anos, eu não pude dar nada que ela precisa e hoje ela ta aqui, realizando o sonho dela", disse Daniela, emocionada.

Natália abraçou a mãe e devolveu a declaração.

"Uma das coisas que eu sempre disse pra minha mãe é que eu quero lutar pra dar o que ela merece, porque eu sei cada renúncia que ela fez pra poder me dar o mínimo", disse.

Ainda ao "Fantástico", ela falou sobre o que aprendeu com a experiência na casa do "BBB 22".

A vida é uma construção e aos poucos a gente vai se moldando e se aperfeiçoando na vida. E eu quero continuar sabendo que posso ser essa metamorfose ambulante

"Não tenho tempo para chorar. Não quero me apegar em tristeza. Quero me apegar ao bom", finalizou

Após saída de Jessilane, quem é o mais odiado da casa do 'BBB 22'?

Enquete encerrada

Total de 21374 votos
30,83%
Reprodução/Globoplay