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

Key responde a acusação de Fred Nicácio do BBB 23: 'Racista a gente não é'

BBB 23: Key responde acusação de Fred Nicácio - Reprodução/Globoplay
BBB 23: Key responde acusação de Fred Nicácio Imagem: Reprodução/Globoplay

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

22/03/2023 13h13Atualizada em 22/03/2023 13h31

Fred Nicácio falou com os brothers do BBB 23 (Globo) sobre a situação de racismo religioso que viu acontecendo quando saiu da casa. Key, Gustavo e Cristian pediram desculpas ao brother.

A jogadora de vôlei, no entanto, não achou que o ato foi racista.

Key: "Entendo, te peço muitas desculpas mesmo. O que a gente fez foi erradíssimo. Te peço perdão real de tudo que aconteceu. Mas, racismo a gente não praticou. Porque poderia ser qualquer outra pessoa. Não é porque você é negro, não é nada disso. As coisas tão indo pra outro rumo. Você pode falar que a gente foi intolerante, de que a gente falou da religião, ok. Isso a gente tá pedindo desculpa. Sempre vi isso como uma coisa errada. Eu vim de uma criação errada que isso era errado. Mas falar que a gente é racista é outro nível. Porque poderia ser qualquer outra pessoa. Porque não é porque você é negro. Minha família é negra"

A fala de Key sobre sua família ser negra foi rebatida imediatamente por Tina: "Esse é o primeiro discurso de toda e qualquer pessoa racista".

Já Cristian e Gustavo focaram em pedir desculpas.

Cristian: "Queria te pedir nem desculpas, é perdão. Quando eu falei que tu tava fazendo suas coisas, é que eu não sabia que o que você leva na mão é um terço, não sabia explicar o que era. Nunca achei que você estivesse fazendo coisas ruins pra mim. A minha ignorância acabou me dando medo dessa situação. Acho justo você levar pro seu jurídico, enfim. Mas o que eu queria falar com você é: perdão pelas minhas falas, porque realmente vi que é uma coisa errada"

Gustavo: "Também quero pedir perdão, pelo jeito que a informação chegou até mim. Acho que qualquer pessoa que ouvisse que tinha alguém parado na sua cama iria ficar com medo. Você tem direito de levar adiante se você achar que tá certo isso, mas queria pedir perdão de coração pelo que aconteceu lá dentro. Foi ignorância minha de não saber todas as religiões"

O que aconteceu?

Key Alves, Gustavo e Cristian foram acusados de intolerância religiosa por conta de uma conversa quando ainda estavam no elenco principal do BBB 23.

  • Cristian contou que viu Fred Nicácio em frente à cama de Key e Gustavo de madrugada.
  • A sister perguntou o que Nicácio fazia, e Cristian afirmou que não sabia, dizendo ainda estar "cagado" de medo.
  • A jogadora disse que vai apertar o botão e que não quer mais ficar na casa.
  • "O que eu vi foi o seguinte: ele estava parado, fazendo os negócios dele, na cama. Aí eu olhei de novo e ele estava rezando e eu comecei a rezar também", detalhou Cristian.

O caso fez Tadeu Schmidt se manifestar e dar uma bronca na casa, o que provocou reações. Após o programa, Cristian disse não ser intolerante e Key afirmou sentir vergonha do episódio. Gustavo também tentou se explicar ao lado de Nicácio no Domingão. Os três, porém, não tocaram no assunto ao retornarem para a Casa do Reencontro nesta terça.

ENQUETE UOL BBB 23: Quem você quer que volte na repescagem?

Enquete encerrada

Total de 181954 votos
24,26%
Divulgação/Globo