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

Chuvas causam desabamentos em Curitiba e alagam ruas no litoral do PR

Carro fica coberto pela água em Caiobá, litoral do Paraná, após fortes chuvas nesta quarta-feira (5) - Reprodução/Twitter
Carro fica coberto pela água em Caiobá, litoral do Paraná, após fortes chuvas nesta quarta-feira (5) Imagem: Reprodução/Twitter

Andréia Martins

Do UOL, em São Paulo

06/01/2022 08h56Atualizada em 06/01/2022 14h09

A capital paranaense viveu uma noite de caos devido à forte chuva que atingiu a cidade na noite de ontem. Cidades do litoral do estado também sofreram com a tempestade.

Curitiba teve rajadas de vento de 29,9 km/h registradas pelo Simepar e precipitação acumulada de 74,4 mm registrados na estação pluviométrica do Cemadem (Vista Alegre). De acordo com o boletim da Defesa Civil de Curitiba, as pancadas de chuva formaram diversos pontos de alagamento e provocaram três situações de desabamentos.

No bairro do Bigorrilho, a parede do subsolo de um prédio residencial desabou. No Santa Cândida, houve desabamento do muro de um condomínio. Uma equipe da Cosedi (Coordenadoria de Segurança de Edificações e Imóveis) foi deslocada para avaliação emergencial da estrutura nos dois casos. Ainda no bairro Batel foi registrada a queda de parte do telhado de um restaurante.

Entre os locais com alagamentos, os registros aconteceram na região da Praça Osório (rua Visconde de Nacar e Avenida Vicente Machado), da Rodoferroviária (ala estadual) e nas proximidades da trincheira da rua General Mário Tourinho. Também houve registro de alagamentos nas ruas Adinar dos Santos Ribeiro (Fazendinha, o vídeo abaixo), José João Ferreira de Lima e Fausto Scorsim (CIC), Dionísio Ribeiro Baptista (Novo Mundo) e Guilherme Ihlenfeldt (Bacacheri).

A Central 156 de Atendimento ao Cidadão registrou 10 solicitações de quedas de árvore e galhos grandes em via pública. Em Santa Felicidade, a Guarda Municipal forneceu lona emergencial para uma residência. Não há registro de pessoas que precisaram deixar suas casas (desabrigadas ou desalojadas) na capital.

No litoral, carros ficaram debaixo da água em cidades como Caiobá e Matinhos e foram vários pontos de alagamento em Guaratuba, Pontal do Paraná e Paranaguá. O número total de pessoas atingidas ainda não foi divulgado.

Segundo o Corpo de Bombeiros do Paraná, foram 127 pessoas diretamente atendidas apenas no litoral, sendo que muitas estavam ilhadas ou isoladas em sua residências ou veículos. No total, 11 pessoas ficaram desabrigadas. Em Matinhos, a prefeitura está realocando desabrigados na Arena Vicente Gurski.

Chuva continua hoje

A previsão para hoje, segundo a Climatempo, é de tempo muito chuvoso e com alerta para transtornos no litoral do Paraná. O dia deve ter muitas nuvens, pancadas de chuva com raios e alguns períodos com sol. Muitas destas pancadas podem ser moderadas a fortes e há potencial para alagamentos nos centros urbanos.

Há alerta de perigo para temporal com chuva volumosa no litoral do Paraná e para chuva moderada a forte, com raios e rajadas de vento centro, leste, norte e noroeste do Paraná.

Ontem, a Marinha do Brasil, por meio do CHM (Centro de Hidrografia da Marinha), havia alertado para agem de uma frente fria sobre o oceano que poderia provocar ventos de direção Sudoeste a Sudeste, com intensidade de até 61 km/h na faixa litorânea entre os estados de Santa Catarina e do Paraná. O alerta é válido até a noite de hoje.