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

Com 45% de isolamento, SP diz que voltou a monitorar "mais de perto"

ROBERTO CASIMIRO/FOTOARENA/FOTOARENA/ESTADÃO CONTEÚDO
Imagem: ROBERTO CASIMIRO/FOTOARENA/FOTOARENA/ESTADÃO CONTEÚDO

Do UOL, em São Paulo

21/12/2020 13h40

O estado de São Paulo voltou, desde ontem, a monitorar "mais de perto" a taxa de isolamento social em função do aumento da covid-19 na região —ontem o índice foi de 45% em todo o estado, mas eles costumam ser mais altos nos fins de semana. Na sexta-feira (18), a taxa chegou a 39%, índice semelhante ao anotado em 17 de março (38%), antes da quarentena decretada pelo estado. O governo diz que o porcentual deve ficar acima de 50%.

"Desde ontem reiniciamos o programa de monitoramento. É uma tecnologia que foi iniciada aqui em São Paulo tomando como referência as operadoras de telefonia celular. Ontem foi retomado. Este serviço que é gratuito, [as operadoras] nada cobram e oferecem isso em caráter humanitário", disse Doria, em coletiva no Palácio dos Bandeirantes.

Patrícia Ellen, secretária de Desenvolvimento Econômico do estado, destacou que é importante conscientizar as pessoas para evitarem aglomerações nas festas de fim do ano.

"Nós tivemos no sábado 41% no estado e 39% na capital, e 45% no domingo em todo o estado e 44% na capital. Lembrando que os níveis pré-pandemia eram entre 25% a 30%", afirmou. "Ainda temos um contingente expressivo de pessoas que estão em casa respeitando o isolamento, mas precisamos sim reforçar essa mensagem."

O Centro de Contingência do coronavírus, do governo do estado, já recomendou que as festas de fim de ano não reúnam mais do que dez pessoas da mesma família —e que evitem a presença de idosos. Eventos em bares, restaurantes, hotéis e salões de festas estão proibidos.

Ocupação de leitos na Grande São Paulo é de quase 70%

O secretário estadual da Saúde, Jean Gorinchteyn, fez um apelo para que as pessoas "colaborem com as regras sanitárias". O infectologista afirmou que nas últimas quatro semanas epidemiológicas, o estado teve um aumento de 54% nos casos confirmados.

"A ocupação dos leitos de UTI mostraram, no estado de São Paulo, uma taxa de ocupação de 61,8%, enquanto que na Grande São Paulo este índice ainda foi maior, de 66,8%", completou. "O vírus está cada vez mais próximo de todos nós."

Gorinchteyn afirmou ainda que "falta muito pouco" para que a vacina chegue e reforçou o pedido para evitar a sobrecarga no sistema de saúde.

"As aglomerações em praias, festividades, clubes, encontros são cenários de risco para uma maior circulação de pessoas —e com elas também uma maior circulação do vírus", afirmou.

"Nós temos que entender que muitas dessas aglomerações acontecem dentro das casas, em ambientes privados que qualquer fiscalização ou qualquer o da polícia, por exemplo, não teria qualquer sentido. As pessoas acabam se aglomerando sem uso de máscara, tiram ela para comer, beber, rir... E isso é um cenário de risco. Nós temos que entender que não é momento mais para que as pessoas estejam se aglomerando pelo menos neste momento. Falta muito pouco", disse ele, referindo-se ao início da imunização contra a covid-19.