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

SP: Jundiaí e São José dos Campos flexibilizam restrições ao comércio

Cadeira de praia e água de coco em plena quarentena na praça ao lado de sede do governo de São Paulo - Felipe Pereira
Cadeira de praia e água de coco em plena quarentena na praça ao lado de sede do governo de São Paulo Imagem: Felipe Pereira

20/04/2020 12h17

Os municípios de Jundiaí e São José dos Campos, no interior paulista, vão flexibilizar as restrições de funcionamento do comércio que tem sido feitas como forma de conter a pandemia de coronavírus.

Em Jundiaí, o decreto publicado pelo prefeito Luiz Fernando Machado na última sexta-feira (17) entra em vigor hoje (20). Pelas novas normas, o comércio de rua pode funcionar desde que em sistema de entregas. Também foram liberados, os supermercados, padarias, vendas de produtos perecíveis, agropecuários, de construção civil, os profissionais liberais e os salões de cabeleireiro.

O decreto prevê normas específicas para o funcionamento de cada uma dessas áreas, como distanciamento entre os clientes e uso de equipamentos de proteção pelos funcionários. O número de profissionais em cada estabelecimento também deve ser adequado ao espaço físico disponível.

As recomendações de distanciamento social foram mantidas no decreto para as pessoas com mais de 60 anos ou com doenças que aumentam o risco de morte para o convid-19. A publicação estipula ainda o isolamento para pessoas com sintomas da doença e proíbe eventos que provoquem aglomerações, como shows, teatro e cinema.

Casos e mortes

Segundo a Prefeitura de Jundiaí, as novas normas foram "orientado pelas evidências de dados do cenário epidemiológico da cidade e parâmetros técnicos de saúde". O município de 419 mil habitantes, segundo estimativa do Instituto Brasileiro de Geografia e Estatística (IBGE), tem 46 casos confirmados de coronavírus e quatro mortes causadas pela doença.

De acordo com o monitoramento feito pela Secretaria Estadual de Saúde do Estado de São Paulo, Jundiaí registrou no sábado (18) uma adesão de 51% às medidas de isolamento social. A média no estado ficou em 54%.

São José dos Campos

Em São José dos Campos, na região do Vale do Paraíba, o novo decreto a a valer na segunda-feira (27) da semana que vem. O prefeito Felicio Ramuth fez uma apresentação em que justificou as medidas a partir das características do município, como densidade demográfica e infraestrutura em saúde, e em estudos que avaliam a forma de disseminação do coronavírus pelo mundo. "Todo o nosso trabalho é voltado a preservar vidas, usando como base a ciência: dados, informações e estudos epidemiológicos".

O novo decreto municipal, que substitui as normas de quarentena estipuladas no final de março, permite a abertura de escritórios, do comércio em geral, de shoppings e salões de beleza. Os estabelecimentos deverão, no entanto, solicitar uma autorização temporária de funcionamento e se adequar a uma série de regras, como o uso de máscaras pelos trabalhadores. Os locais com mais de 40 funcionários deverão fazer escalonamento em turnos.

Os restaurantes só podem funcionar em regime de entrega ou pague e leve. Mesmo as praças de alimentação dos shoppings devem continuar fechadas, assim como cinemas e teatros.

Casos na cidade

No último sábado, São José dos Campos registrou uma adesão de 55% às medidas de isolamento social. A cidade com 722 mil habitantes, segundo estimativa do IBGE, tem três mortes confirmadas por coronavírus e 16 aguardando os resultados dos exames. Os casos confirmados de convid-19 são136 e os suspeitos 521.