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

Vinicius é o oitavo eliminado do 'BBB 22', com 55,87% dos votos

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

15/03/2022 23h48Atualizada em 16/03/2022 09h14

Vinicius é o oitavo eliminado do "BBB 22" (TV Globo). Ele foi o mais votado pelo público, com 55,87% dos votos. Gustavo e Pedro Scooby seguem na disputa por R$ 1,5 milhão. O ex-morador da casa de vidro recebeu 39,51% dos votos e o surfista, apenas 4,62%. No total, o paredão recebeu 73.836.602 votos.

No discurso, Tadeu Schmidt disse que o público repara na espontaneidade dos participantes e fez referência aos constantes tropeços do eliminado nos programas ao vivo.

Após o anúncio da saída de Vyni, Eslovênia, que se sentou novamente ao lado do eliminado da semana, deu um abraço apertado no amigo.

O bacharel em direito combinou de curtir o Carnaval com Pedro Scooby, viajar o mundo com Paulo André e pediu desculpas para Natália. Arthur Aguiar, por sua vez, prometeu autografar um item de Vyni, fã da novela "Rebeldes".

Ainda na sala, o cearense se despediu de Eliezer, seu maior aliado no jogo. Entre muitas lágrimas, os dois disseram que amam um ao outro.

"Vai lá ajeitar nosso apartamento. Eu quero o quarto grande, tá?", pediu Eli, enquanto caminhava com o brother para a saída.

No gramado, Vyni deixou uma mensagem para seus colegas de confinamento. Ele mencionou o fato de ter recebido corações de todos os brothers no queridômetro em seu primeiro dia e também no último.

Se cada um aqui me deu um pouquinho do seu coração, eu vou deixar um pouquinho do meu coração com vocês também. Porque eu aprendi que aqui eu também posso ser amado, eu também posso ser abraçado, eu posso ser eu. Eu sou livre pra ser eu, uma coisa que nunca pude ser na minha vida. Não quero sair daqui triste, até porque cheguei com alegria. Vyni

Por fim, Vinicius apresentou um repente.

"Você pode tá bem certo, boniteza eu não tenho, mas eu sou valorizado por minha história, de onde venho. Tu tentou lascar comigo me falando de beleza, mas quem te lascou primeiro foi Dona Mãe Natureza. Por isso, camarada, antes de me chamar de feio, na feirinha, 5 conto, tu encontra um espelho. Tempo pra respirar, ainda preciso dizer, a boniteza que vale é que tá dentro de você. Nosso Brasil inteiro, ouça o que vou falar, meu repente é cultura, quando eu canto é pra encantar", rimou, sendo acompanhado pelas palmas dos outros participantes.

"Minha gente, vou falar, hoje eu vou comer cuscuz, acendi a minha luz, nunca mais vou apagar", concluiu.

Antes de deixar a casa, o agora ex-participante ganhou um abraço coletivo e trocou presentes com Eli: o designer deixou um colar com Vyni, que por sua vez, deixou sua armação de óculos com o amigo.

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

Após eliminação de Vyni, quem é o participante mais odiado do 'BBB 22'?

Enquete encerrada

Total de 15805 votos
34,86%
Reprodução/Instagram @bbb