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

João Guilherme diz que assistiu BBB para ver Jade, mas detona: 'Sem graça'

Jade Picon e João Guilherme - Reprodução/Instagram
Jade Picon e João Guilherme Imagem: Reprodução/Instagram

Colaboração para Splash, em Maceió

02/03/2022 15h35

O ator João Guilherme, ex-namorado de Jade Picon, que atualmente está confinada no "BBB 22" (TV Globo), itiu que começou a assistir o reality show para acompanhar a rotina da influenciadora no programa, mas que parou devido ao fato de a atração está "muito ruim" e de ter "perdido a graça".

"Então, a situação é: Eu não estou achando legal o 'BBB' porque não está realmente assim, né? No início eu estava acompanhando por conta da Jade, realmente vendo, tentando acompanhar o programa na TV, só que vem perdendo muito o encanto, porque para mim, na real, a coisa que chamava [a atenção] é que ela estava lá, eu queria ver ela no programa, normal. E aí, tals, vi que ninguém era muito interessante", declarou o famoso entrevista ao podcast "Vênus".

Segundo João Guilherme, ele começou a acompanhar o "BBB" a partir da vigésima edição, quando a Globo ou a confinar famosos, alguns dos quais ele já conhecia. O ator também garante que viu a vigésima primeira temporada do programa, e diz ter gostado de ambas. Porém, não conseguiu se apegar aos acontecimentos do "BBB 22".

Um dos motivos de não ter se afeiçoado a atual temporada do reality, segundo o ator, pode ser o fato de que, tirando Jade Picon, ele não possui uma "ligação prévia" com os demais confinados, embora saliente que ficou interessado em ver como seria o comportamento do surfista Pedro Scooby no jogo. Entretanto, nem isso foi suficiente para prender sua atenção.

"Então não está muito interessante, não tem grandes acontecimentos. Tem uma coisa ou outra que fica legal", completou, pontuando o envolvimento entre Jade e Paulo André, para ressaltar que, se fosse o contrário, ele também gostaria de se envolver com alguém na casa, até mesmo por uma questão de "carência".

João Guilherme e Jade Picon anunciaram o fim do namoro em agosto do ano ado, após três anos juntos. Segundo o artista, o real motivo para o término foi o entendimento, de ambas as partes, de que eles estão em momentos diferentes de suas respectivas vidas.

Ontem, durante bate-papo com Eslovênia, Laís e Larissa, Jade relatou que João Guilherme foi o "primeiro amor de sua vida", e que mantém "um super carinho por ele e pela nossa história".

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.