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

Juliette diz que não foi chamada para chá; Viih Tube afirma que convidou

Juliette revela que não foi convidada para o chá revelação de Viih Tube - Reprodução/Instagram @juliette @brunini_
Juliette revela que não foi convidada para o chá revelação de Viih Tube Imagem: Reprodução/Instagram @juliette @brunini_

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

16/10/2022 20h25Atualizada em 16/10/2022 23h06

Juliette revelou hoje que não foi convidada para o chá revelação de Viih Tube e Eliezer, que esperam por uma menina. A cantora abriu uma live em seu Instagram e respondeu perguntas dos usuários.

O motivo seria que a artista e a influenciadora não mantêm uma amizade próxima após a edição de 2021 do "Big Brother Brasil", onde se conheceram. "A gente não se fala como antes", disse Juliette.

As duas se aproximaram de maneira rápida no reality show, mas a amizade era repleta de críticas por parte de quem assistia ao reality.

Ainda durante a live, a cantora garantiu que sente muito carinho por Viih Tube e que visitará a criança quando ela nascer. "Tenho certeza que será linda", completou.

Viih Tube e Eliezer fizeram um chá revelação inspirado no BBB para anunciar o sexo do primeiro filho dos dois.

A festa foi fechada para amigos e familiares, mas o momento da revelação foi transmitido ao vivo para mais de 400 mil pessoas.

Viih Tube diz que convidou

Viih Tube diz que convidou Juliette para o chá de revelação - Reprodução/Instagram - Reprodução/Instagram
Viih Tube diz que convidou Juliette para o chá de revelação
Imagem: Reprodução/Instagram

Diante da repercussão da revelação, Viih Tube recorreu aos stories, do Instagram, agradecendo a mensagem de carinho da ex-colega de "BBB 21" e informou que enviou, sim, um convite para o chá de revelação.

"Vi a Ju falando. Tem muita gente falando 'você não convidou ela' e brigando comigo. Eu convidei, gente, eu estou com número errado ou troquei... Não sei. Até mandei mensagem para ela no Instagram agora falando, 'menina, eu te convido sempre para todas as festas, jamais ia deixar de te convidar para o chá de bebê'", disse.

A influenciadora digital também aproveitou para agradecer a mensagem especial deixada por Juliette para sua filha.

Ela sabe o quanto ela é especial para mim e o quanto ela já me ensinou. O que a gente viveu juntas me transformou de diversas formas. Ela sabe, eu já disse para ela isso. Ela é muito especial. Estou falando isso aqui porque tem muita gente me mandando mensagem, 'como assim você não convidou el!'. Gente, eu convidei. Vou até deixar os prints aqui.
Viih Tube