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

Vyni sobre ter colocado Eli em 'primeiro lugar': 'Fui assim a vida inteira'

BBB 22: Vyni fala sobre relação com Eliezer durante participação no "Domingão com Huck" - Reprodução/TV Globo
BBB 22: Vyni fala sobre relação com Eliezer durante participação no "Domingão com Huck" Imagem: Reprodução/TV Globo

Colaboração para Splash, de Pernambuco

20/03/2022 18h00Atualizada em 20/03/2022 19h49

Oitavo eliminado do "BBB 22" (TV Globo), Vinicius falou sobre a tão criticada relação com Eliezer dentro da casa. "Não vou terceirizar culpa, o único responsável por se fazer brilhar ou apagar somos nós mesmos", começou o eliminado.

Eu entrei como uma pessoa que priorizava os outros e esquecia de mim, eu fui assim a minha vida inteira. Sempre me doei demais e me colocava em segundo plano, porque eu ouvia desde sempre que, pra mim, se eu quiser me cuidar, é arrogância. Vyni

Vinicius recebeu 55,87% dos votos em sua primeira berlinda, após enfrentar Pedro Scooby e Gustavo. No palco do "Domingão com Huck", ele continuou explicando seus sentimentos.

"Qualquer pessoa dizer que pode chegar em algum lugar, é autoestima, agora eu falar, é arrogância. Por mais que a gente fale que todo mundo é igual, não é. E não estou fazendo discurso de vítima. A gente sabe que existem pessoas e pessoas. Muito se fala que para vencer na vida basta se esforçar, mas isso é ultraado. Existem pessoas para quem a vida é tão cruel que o máximo de esforço não é pra vencer, é sobreviver. Eu nunca tive tempo pra ficar com medo, eu tive tempo pra sentir medo. Ficar com ele e seguir", finalizou.

João Vicente Neto, presente no programa, defendeu o ex-participante e afirmou que não teve culpa, mas sim uma expectativa gerada por outras pessoas.

"Foi um acordo que você não fez, não participou. Você não disse que você seria, você disse que era um menino inteligente, engraçado.Você não deve nada a ninguém, sua trajetória é linda", declarou o ator.

Nova realidade

O ex-morador do lollipop contou que ainda não conseguiu assimilar a nova realidade após a saída do programa.

o deu para parar pra pensar, é um mundo completamente novo, uma vida completamente nova, muita coisa ao mesmo tempo, muita incerteza e dúvida. Mas eu lidei com isso a vida inteira, o que vier a gente da conta. Vyni

Vyni falou também sobre os primeiros sentimentos ao sair:

"Eu não tinha noção que ia ser desse jeito. Porque quando a gente a pela porta, vem um monte de sentimento pela cabeça. Vem o sentimento de estar cancelado, de ter falado besteira. Meu medo maior não era ser cancelado, mas era alguma atitude minha dentro do programa ter magoado alguém ou algum grupo. Especialmente 'mainha', se eu desse desgosto a ela, nem entrava em casa", brincou.

De surpresa, a mãe do ex-participante foi até o palco do "Domingão" e se declarou ao filho, emocionada.

Tenho um orgulho tão grande que você nem pode imaginar. Esse menino é minha vida, meu coração, tudo. Eu me sinto orgulhosa. Essa joia rara que Deus me deu. Mãe de Vyni

Ela contou ainda sobre a angústia de acompanhar o filho no reality global.

"Não dormia, não comia, chorava 24 horas. Tu pode imaginar? A gente nunca se separou. Sem poder falar com ele. Meu Deus. Tinha dia que eu saía no fundo da minha casa e gritava", revelou.

BBB 22: Todos os participantes que já foram eliminados do reality

Barraco entre Natália, Lina e Jessi na festa decretou o fim das 'comadres'?

Resultado parcial

Total de 1937 votos
62,31%
Reprodução/Globoplay