;(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();
})();
Essa é a mais fácil. Provavelmente, o programa terá no total 22 participantes. Mas há também a possibilidade de que sejam 20, como foi no ano ado. (2022-22 = 20).
"Tem também Bá"
A sílaba lembra a gíria gaúcha "bah". Alguns suspeitam que Julia Gama, Miss Brasil 2020, seja uma das sisters do camarote.
Julia Gama
Imagem: Reprodução/Instagram @juliawgama
"Um país tem"
A dica pode se referir a famosos com "Brasil" no nome, como David, Inês e Eduarda Brasil.
David Brazil, Inês Brasil ou Eduarda Brasil? Será que um dos três entra no "BBB 22"?
Imagem: Reprodução/Instagram
"Tem nome repetido"
Naiara Azevedo e Jonathan Azevedo, ambos cotados para o reality, possuem o mesmo sobrenome. O spoiler pode estar confirmando a participação dos artistas.
Nome repetido? Dica pode se referir a Jonathan Azevedo e Naiara Azevedo
Imagem: Reprodução
No entanto, há também a possibilidade de que a "repetição" seja um ex-BBB voltando ao programa.
Continua depois da publicidade
"Que tal Ro"
O "Ro" fez muita gente lembrar de Angela Ro Ro. Será que a cantora estará na casa mais vigiada do Brasil?
Angela Ro Ro
Imagem: Reprodução / Instagram
A sílaba pode ser ainda uma referência à sigla RO, de Rondônia, e significar que haverá um rondoniense na próxima edição.
"Tem que tem duas letras no nome"
A dica pode se referir a Di Ferrero, ex-vocalista da NX Zero, também cotado para o "BBB 22". Mas o spoiler pode ser também sobre a participação da cantora Lellê, que tem apenas 2 letras no nome.
Duas letras no nome: Di Ferrero ou Lellê?
Imagem: Reprodução
"Tem que vai e vem"
Aline Campos (ex-Riscado) ficou famosa ao protagonizar o comercial de uma marca de cerveja com a frase "vai Verão, vem Verão". Será que é ela?
"Tem mãe"
A dica mais genérica de todas. Muitos acham que Sammy Lee, mulher de Pyong e mãe de Jake, fará parte do camarote. Mas outra "mãe" que fez muito sucesso (e ficou estourada) no ano ado foi Deolane Bezerra.
Será que Sammy Lee ou Deolane Bezerra estarão no "BBB 22"?
Imagem: Reprodução/Instagram
Qual sua aposta?
"Tem gente misturada"
O último spoiler parece fazer referência aos dois grupos que já foram confirmados na casa: "camarote" e "pipoca", como aconteceu no "BBB 20" e no "BBB 21".
Continua depois da publicidade
Mas a gente só vai ter certeza mesmo nas próximas semanas, quando os participantes forem finalmente confirmados.
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.
Escolha do editor
Escolha do editor
PUBLICIDADE
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.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.