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

BBB 23: Domitila se desculpa com Larissa em Discórdia após falas machistas

BBB 23: Domitila se acerta com Larissa após treta com sister - Reprodução/Globoplay
BBB 23: Domitila se acerta com Larissa após treta com sister Imagem: Reprodução/Globoplay

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

28/03/2023 00h12

Domitila decidiu se desculpar com Larissa durante o intervalo do Jogo da Discórdia de hoje no BBB 23 (Globo). A ativista social teve falas machistas sobre a sister, que descobriu quando foi eliminada do programa e, ao retornar, foi tirar satisfações.

Na Discórdia de hoje, Larissa voltou a afirmar que se sentiu ofendida com as falas e que irava Domitila por empoderar mulheres.

Tem noção que foi algo que me feriu muito que eu nem tenho coragem de falar porque me dá vontade de chorar? Não tô colocando a culpa só em você, não tô falando que não tive falas machistas e posso ter tido inconscientemente, outras pessoas tiveram aqui na casa, mas é um combo. Quando lembro das suas falas, eu lembro de várias. Me colocaram nesse programa num lugar que não sou e que nenhuma mulher merece Larissa

"Eu fui chamada de piranha, cachorra, piriguete e simplesmente de graça. Entende? E quando minha mãe me mostra isso quase chorando, isso é uma dor que eu não espera. Você eu não esperava porque uma das coisas que mais eu iro em você é você levantar essa pauta de empoderamento. E aí você falar bonito aqui e sair, ir pra uma rodinha e falar mal de mim, isso me magoou muito", acrescentou.

Domitila reconheceu mais uma vez o seu erro, se desculpou com a sister e pediu para conversar com ela em um momento em que tivesse mais confortável.

Se minha intenção foi de te machucar ou não, eu te machuquei. Isso me deixa muito triste e decepcionada comigo mesmo. Te agradeço muito pela sua sinceridade, porque eu de todo o meu coração te peço perdão, Domitila

"Tá perdoada", assentiu Larissa.

ENQUETE UOL BBB 23: Na treta entre Larissa e Domitila, você está do lado de quem?

Resultado parcial

Total de 12456 votos
45,43%
Reprodução/Globoplay