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

Prédio é evacuado após coluna de sustentação ceder no litoral de SP

O edifício com 20 andares que foi evacuado fica a poucos metros da praia, no bairro Ocian, em Praia Grande - Reprodução/Redes Sociais
O edifício com 20 andares que foi evacuado fica a poucos metros da praia, no bairro Ocian, em Praia Grande Imagem: Reprodução/Redes Sociais

Colaboração para o UOL

19/01/2023 21h42

Um edifício residencial teve que ser evacuado às pressas na tarde de hoje, em Praia Grande, no litoral de São Paulo, após uma das colunas de sustentação ceder. Segundo a prefeitura da cidade, que acompanha o caso, o prédio com 20 andares permanecerá interditado até a expedição de um laudo técnico que garanta a integridade da estrutura.

O Corpo de Bombeiros foi chamado para atender a ocorrência na rua Guimarães Rosa, no bairro Ocian, a poucos metros da orla da praia, por volta das 14h30. A Polícia Militar e a Defesa Civil do município também foram acionadas. Os agentes trabalharam na evacuação dos moradores do prédio e ninguém ficou ferido.

Segundo os Bombeiros, trabalhadores de uma empresa de engenharia realizavam uma manutenção geral na estrutura do edifício quando ocorreu o incidente. Segundo testemunhas, ouviu-se um estrondo forte, seguido de gritos de alguns moradores do prédio.

Em nota, a prefeitura de Praia Grande confirmou que a coluna do prédio sofreu um dano estrutural. "Devido à questão estrutural, foi necessário providenciar a evacuação dos moradores até que o prédio providencie um laudo técnico que possa excluir qualquer tipo de risco para as pessoas".

Imagens postadas nas redes mostram a avaria que um dos apartamentos do primeiro andar sofreu após o ocorrido. Além de queda de parte do teto da varanda do andar de cima, as esquadrias da porta de correr e das janelas entortaram.

O caso está sendo acompanhado pelas equipes da Defesa Civil e da Secretaria de Urbanismo (Seurb) de Praia Grande. O prédio foi inspecionado hoje. A expectativa é de que um laudo sobre a segurança estrutural das colunas seja emitido amanhã. Até lá, os moradores não poderão retornar para os seus apartamentos.