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

Rafa Kalimann envia 10 toneladas de alimento à Bahia e pede ajuda

Chuvas rompem barragens na Bahia. - Reprodução.
Chuvas rompem barragens na Bahia. Imagem: Reprodução.

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

27/12/2021 10h19Atualizada em 27/12/2021 10h19

A ex-BBB Rafa Kalimann também se sensibilizou com a situação caótica da Bahia e enviou toneladas de suprimentos. De acordo com a famosa, mandou 10 toneladas de alimentos e, ainda, pediu para que outras pessoas também ajudem. "Vamos lá gente, de mãos dadas! É urgente, eles estão precisando agora! Ajudem com o que puder", disse no Twitter.

Desde antes da véspera de Natal, a região baiana sofre com a maior inundação dos últimos 35 anos. Até o momento, conforme apuração do Globo, já morreram 18 pessoas e 72 cidades alertaram situação de emergência.

Enchentes na Bahia - Reprodução/Prefeitura de Ibicuí. - Reprodução/Prefeitura de Ibicuí.
Enchente na cidade de Ibicuí, na Bahia.
Imagem: Reprodução/Prefeitura de Ibicuí.

Chuvas causam inundação e alerta de emergência na Bahia

O sul da Bahia, aclamado destino turístico, registrou uma grande enchente há duas semanas. No fim de semana, contou com o rompimento de duas barragens. Assim, no sábado de Natal, uma barragem rompeu em Vitória da Conquista; já no domingo (26), outra teve rompimento em Jussiape, onde se localiza a Chapada Diamantina.

Segundo informações, o nível do Rio da Cachoeira subiu mais de 10 metros e, com isso, cidades foram alagadas. A pressão da água foi tão forte que a ponte de Itabuna foi interditada, em vista do risco de desabar.

Além de Rafa Kalimann, uma das finalistas do Big Brother Brasil 2020 (BBB20), outros famosos se mobilizaram com os desastres provocados pelas chuvas na Bahia. Dentre eles, destacam-se o também ex-BBB Gil do Vigor, Whindersson Nunes, Gessica Kayane - mais conhecida por GKay -, Felipe Neto, Viih Tube e a cantora Anitta. Além de alimentos, as celebridades contribuíram com a arrecadação de dinheiro para as pessoas afetadas pelas enchentes.