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

Plano SP: o que muda com a regressão da fase verde para a fase amarela

Luís Adorno

Do UOL, em São Paulo

30/11/2020 14h09Atualizada em 30/11/2020 19h38

Com a regressão da fase verde à fase amarela do Plano São Paulo, de reabertura da economia durante a pandemia do novo coronavírus, seis regiões do estado terão mais restrições, mas não o fechamento de comércios —incluindo a Grande São Paulo, onde está a capital. As medidas também atingem as regiões de Piracicaba, Campinas, Sorocaba, Baixada Santista e Taubaté.

De acordo com as principais regras de funcionamento para atendimentos presenciais na fase amarela, fica limitado a 40% o total de ocupação para todos os setores —na fase verde, ficava a 60%. O horário de funcionamento fica até dez horas por dia e devem fechar as portas até as 22h.

Eventos com públicos em pé estão proibidos. A recomendação é que teatros, cinemas, museus, bibliotecas e outros sejam autorizados a funcionar, disse Patricia Ellen, secretária de Desenvolvimento Econômico, desde que com o público sentado e medidas sanitárias determinadas respeitadas.

O anúncio foi feito um dia depois das eleições municipais. A nova fase a a valer na quarta-feira (2).

O que está permitido na fase amarela?

Shoppings, galerias e semelhantes:

  • Ocupação máxima limitada a 40% da capacidade do local;
  • Horário reduzido (10 horas);
  • Praças de alimentação (ao ar livre ou em áreas arejadas);
  • Adoção dos protocolos geral e setorial específico.

Comércio:

  • Ocupação máxima limitada a 40% da capacidade do local;
  • Horário reduzido (10 horas);
  • Adoção dos protocolos geral e setorial específico.

Serviços:

  • Ocupação máxima limitada a 40% da capacidade do local;
  • Horário reduzido (10 horas);
  • Adoção dos protocolos geral e setorial específico.

Consumo local, bares, restaurantes e similares:

  • Somente ao ar livre ou em áreas arejadas;
  • Ocupação máxima limitada a 40% da capacidade do local;
  • Horário reduzido (10 horas);
  • Consumo local até 17h;
  • Consumo local até as 22h (se a região estiver a ao menos 14 dias seguidos na fase amarela);
  • Adoção dos protocolos padrões e setoriais específicos.

Salões de beleza e barbearias:

  • Ocupação máxima limitada a 40% da capacidade do local;
  • Horário reduzido (10 horas);
  • Adoção dos protocolos geral e setorial específico.

Academias de esportes de todas as modalidades:

  • Ocupação máxima limitada a 30% da capacidade do local;
  • Horário reduzido (10 horas);
  • Agendamento prévio com hora marcada;
  • Permissão apenas de aulas e práticas individuais, mantendo-se as aulas e práticas em grupo suspensas;
  • Adoção dos protocolos geral e setorial específico.

Eventos, convenções e atividades culturais:

  • Permitido após a região ficar ao menos 28 dias consecutivos na fase amarela;
  • Ocupação máxima limitada a 40% da capacidade do local;
  • Obrigação de controle de o, hora marcada e assentos marcados;
  • Venda de ingressos de eventos culturais em bilheterias físicas, desde que respeitados protocolos sanitários e de distanciamento;
  • Assentos e filas respeitando distanciamento mínimo;
  • Proibição de atividades com público em pé;
  • Adoção dos protocolos geral e setorial específico.

Demais atividades que geram aglomeração:

  • Não permitido.

Um dia depois das eleições

A adoção das medidas restritivas foi tomada pelo governador João Doria (PSDB) um dia depois da eleição. Na semana ada, representantes do Centro de Contingência ao Coronavírus chegaram a recomendar ao governador a adoção imediata de mais restrições, mas ele preferiu esperar. O argumento foi que era necessário aguardar o fechamento da semana epidemiológica, no sábado (28).

Ontem, na capital, o anúncio da vitória de Bruno Covas, na sede do PSDB estadual, no Jardins, teve aglomeração de políticos e militantes. "Eu ontem fui a uma coletiva de imprensa, não fui a uma comemoração", respondeu Doria, quando foi questionado por uma jornalista.

De acordo com José Medina, coordenador do Centro de Contingência, a fase amarela, assim como em um semáforo, "significa que temos que tomar muito mais cuidado. "O verde erroneamente foi interpretado como 'pode ar', o amarelo já no inconsciente significa que é necessária cautela", disse ele, em coletiva hoje.

João Gabbardo, coordenador executivo do Centro de Contingência, complementou que o estado ou para a fase amarela porque os indicadores do vírus representaram essa necessidade. "A fase amarela não tem tanta repercussão no comércio, na economia, mas pode, sim, mais adiante, na próxima reclassificação ou em qualquer momento, se necessário, ter medidas mais fortes de restrição."

A capital do estado estava na fase verde desde dia 9 de outubro. A próxima reclassificação do Plano São Paulo deve ser anunciada em 4 de janeiro.