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

Esse conteúdo é antigo

Lula se solidariza com estados com chuvas: 'Precisamos retomar prevenção'

Lula prestou solidariedade a famílias atingidas por chuvas nos estados - Paulo Mumia/Enquadrar/Estadão Conteúdo
Lula prestou solidariedade a famílias atingidas por chuvas nos estados Imagem: Paulo Mumia/Enquadrar/Estadão Conteúdo

Do UOL, em São Paulo

02/12/2022 10h41

O presidente eleito Luiz Inácio Lula da Silva (PT) prestou solidariedade aos estados brasileiros atingidos por chuvas nos últimos dias, em publicação no Twitter, e disse que o país precisa investir para que novas ocorrências não sejam registradas.

"Minha solidariedade e meus sentimentos para as famílias que estão sofrendo com as fortes chuvas no Paraná, Santa Catarina, Rio de Janeiro, Espírito Santo, Minas Gerais e Bahia", escreveu o petista.

"Precisamos retomar verbas para prevenção de desastres naturais e defesa civil. E enfrentarmos juntos as catástrofes e a mudanças climáticas", acrescentou.

Recluso no Palácio da Alvorada desde a derrota na eleição, o presidente Jair Bolsonaro (PL) não se manifestou sobre os temporais e as famílias afetadas. O chefe do Executivo tem se limitado a compromissos reservados com aliados e, nos eventos públicos que participou, ficou calado.

Em Santa Catarina, as fortes chuvas que atingiram ao estado ao longo da semana ainda causam estragos. Em São João Batista, município no vale do rio Tijucas, moradores ilhados registraram o momento em que bois foram arrastados pela correnteza na região.

Imagens aéreas registradas pelo Corpo de Bombeiros ontem mostraram que parte do município ficou inundada e um helicóptero chegou a ser acionado para retirar famílias presas em casas.

Na Grande Florianópolis, um shopping do município de Palhoça registrou alagamento na garagem e no piso térreo, obrigando alguns frequentadores a pisar na água para subir uma escada rolante desligada.

No estado da Bahia, ontem as chuvas mantinham em estado de emergência nove municípios e mais de quatro mil pessoas foram deslocadas de suas casas, segundo a Defesa Civil.

Além disso, um deslizamento registrado na segunda-feira (28) em uma rodovia na região montanhosa no litoral do Paraná deixou ao menos dois mortos. Os bombeiros continuavam em busca de desaparecidos debaixo da lama.