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

Fase vermelha no estado de SP começa à meia-noite; veja o que funciona

Parque Ibirapuera em janeiro deste ano, durante a pandemia do novo coronavírus - Leonardo Martins/UOL
Parque Ibirapuera em janeiro deste ano, durante a pandemia do novo coronavírus Imagem: Leonardo Martins/UOL

Do UOL, em São Paulo

05/03/2021 04h00

Todo o estado de São Paulo entra na fase vermelha do Plano São Paulo a partir da meia-noite desta sexta-feira. Nesta fase, apenas serviços essenciais —como mercados e farmácias— ficam abertos, mas com capacidade reduzida. A medida vale até o dia 19, mas pode ser prorrogada.

O objetivo é reduzir o número de casos de covid-19 e desafogar os hospitais. Nesta semana, o estado bateu recorde de mortes em 24 horas (foram 468 na terça-feira) e de ocupação de leitos para a doença. Projeção realizada pelo próprio governo apontou que o sistema de saúde entrará em colapso em 15 de março se um fato novo não alterar o rumo da pandemia em território paulista.

Veja o que funciona na fase vermelha, de acordo com o plano elaborado pela equipe do governador João Doria (PSDB):

O que fecha

  • Shoppings, galerias e comércio de rua
  • Bares e restaurantes (só funcionam delivery ou drive-thru)
  • Salões de beleza e barbearias
  • Cinemas, teatros e casas de show
  • Universidades (só cursos de saúde funcionam)
  • Eventos, convenções e atividades culturais
  • Atividades com aglomeração
  • Academias de esporte e centros de ginástica
  • Concessionárias
  • Parques e zoológico

O que abre

  • Farmácias e serviços de saúde
  • Mercados, supermercados e locais que vendam comida, mas sem consumo local
  • Escolas (só até 35% de ocupação) e cursos da área de saúde em universidades
  • Igrejas (até 30% de ocupação)
  • Construção civil e indústria
  • Lavanderias
  • Serviços de segurança pública e privada
  • Empresas de locação de veículos

Escolas podem abrir para quem "mais precisa"

Escolas municipais e particulares podem ficar abertas, respeitando as medidas sanitárias e o limite legal de ocupação de 35% —a orientação para funcionamento das unidades depende do município e da própria direção. A presença dos estudantes, no entanto, é opcional e pode seguir a decisão da família.

Segundo o secretário estadual da Educação, Rossieli Soares, as escolas da rede estadual devem oferecer ensino remoto, mas continuarão abertas para alunos que necessitarem de alimentação e e educacional. Os estudantes que "mais necessitam" são:

  • Alunos com necessidade de alimentação escolar
  • Alunos com dificuldade de o à tecnologia e outros es
  • Alunos com "severa defasagem" de aprendizado
  • Alunos cujos responsáveis trabalhem em serviços essenciais
  • Alunos com saúde mental sob risco
Ao UOL, o coordenador-executivo do Centro de Contingência do Coronavírus, João Gabbardo, disse que as escolas devem permanecer abertas enquanto for possível.

Atendimento digital no Poupatempo

A secretária de Desenvolvimento Econômico, Patrícia Ellen, afirmou que as unidades do Poupa tempo terão atendimento digital. "Trabalho do Detran será feito com atendimento digital e drive-in. E agendamento para entrega", afirmou.

Campeonato de futebol

De acordo com o médico José Osmar Medina, do Centro de Contingência, os jogos de futebol devem continuar, mas sem plateia. "Essa atividade é bastante controlada e a população precisa de diversão nesse período muito duro."

Festas, praias e parques

As festas e encontros com aglomeração estão proibidos. A polícia e a Vigilância Sanitária podem ser acionados para acabar com esse tipo de evento. Os parques devem ficar fechados nas próximas duas semanas.

Já as praias poderão ser usadas para "atividades individuais", com máscara, de acordo com o secretário estadual do Desenvolvimento Regional, Marco Vinholi.

Com baixos índices de ocupação dos hospitais, os prefeitos do litoral devem montar forças-tarefa para reforçar a fiscalização e evitar migração de moradores de outros municípios.

Mais de 2 milhões de casos no estado

Boletim divulgado ontem pela Secretaria Estadual da Saúde informa que já foram confirmados mais de 2 milhões de casos de covid-19 no estado e quase 61 mil mortes.

O governo de São Paulo diz que os jovens têm ocupado mais e por um tempo maior os leitos de UTI destinados à doença. Nas últimas duas semanas, após o Carnaval, o estado registrou, em média, 93 internações por dia —60% dos pacientes estão nas faixas de 30 a 50 anos.

Permitimos a liberação das igrejas, mas com muitas restrições para reduzir o risco. O ideal é que, se possível, as pessoas façam suas orações em casa, evitem ir a qualquer tipo de evento público, mesmo nas igrejas, mas, se forem, que façam todos os cuidados possíveis de distanciamento e de não cumprimentar pessoas.
João Gabbardo, coordenador-executivo do Centro de Contingência do Coronavírus