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

Morador de São Sebastião: 'Galão de água que era R$ 8 agora está R$ 40'

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

22/02/2023 09h09Atualizada em 22/02/2023 15h37

Em meio à solidariedade, há quem se aproveite do desastre provocado pelas chuvas que devastaram o litoral norte do estado de São Paulo para explorar as vítimas da tragédia. Em entrevista ao UOL News nesta quarta, o promotor de eventos Helder Lucas, morador de São Sebastião e que teve sua casa destruída, relatou alguns destes abusos e se indignou com a falta de empatia.

O pessoal ajuda, mas muita gente quer explorar. O ser humano está muito estranho. Comprei um marmitex em um restaurante por R$ 20. Tentei comprar outro depois e já estava R$ 35. Um galão de água, que era R$ 8, estão vendendo a R$ 40. Assinei uma nota em um restaurante para pagar uma pizza de R$ 110. Helder Lucas, morador de São Sebastião (SP)

Helder e seu filho de onze anos não estavam na residência quando ela foi destruída. Ele só conseguiu chegar ao local dois dias depois por conta das dificuldades de o. O morador, que está na casa de sua ex-mulher, contou que chegou a figurar na lista de desaparecidos, já que ele não tinha como se comunicar.

Parecia um filme de terror. Tenho 58 anos e nunca havia ado um medo tão grande. Moro há 17 anos aqui e nunca havia visto isso. Caiu o morro todo. Consegui salvar algumas coisas. É um sonho que vai embora. Meu filho de onze anos entrou em desespero, mas temos que ficar fortes. Helder Lucas, morador de São Sebastião (SP)

12 mil famílias moram em áreas de grande risco em SP, diz Ricardo Nunes

O prefeito de São Paulo, Ricardo Nunes (MDB), afirmou que 12 mil famílias vivem em áreas de grande risco na cidade. Ele disse que a prefeitura pretende intensificar os esforços nestes locais para evitar que aconteçam tragédias como a que devastou o litoral norte do estado após fortes chuvas.

Só aqui na cidade de São Paulo temos 482 áreas de risco. Nas regiões de maior vulnerabilidade, com maior risco de desabamento, temos 12 mil famílias. A partir dessa grande tragédia que atingiu o litoral norte, é preciso reordenar e tratar esse assunto com mais seriedade para atuar nessas áreas. Ricardo Nunes (MDB), prefeito de São Paulo.

Josias: É preciso investir em soluções perenes, se não contaremos mais mortos pelas chuvas

Josias de Souza cobrou ações permanentes das esferas municipais, estaduais e federais para evitar novos desastres causados pelas chuvas. Para o colunista, os mandatários têm adotado práticas apenas depois que as tragédias acontecem, em vez de traçar estratégias realmente eficazes de prevenção.

É preciso começar a tratar desse problema como ele deve ser tratado, como algo permanente e que exige soluções também permanentes. Isso exige dinheiro, concentração e foco. A esta altura, não podemos nos contentar com pouco. Ou tratamos de forma mais consequente ou contabilizaremos mortes a cada verão. Josias de Souza, colunista do UOL

O UOL News vai ao ar de segunda a sexta-feira em três edições: às 8h, às 12h e às 18h. O programa é sempre ao vivo.

Quando: de segunda a sexta, às 8h, às 12h e 18h.

Onde assistir: Ao vivo na home UOL, UOL no YouTube e Facebook do UOL.

Veja a íntegra do programa: