;(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 100% de UTIs ocupadas, Curitiba adota fase mais restritiva contra covid

Curitiba não tem mais vaga de UTI para pacientes com covid-19 e adotou bandeira vermelha - Getty Images
Curitiba não tem mais vaga de UTI para pacientes com covid-19 e adotou bandeira vermelha Imagem: Getty Images

Do UOL, em São Paulo

28/05/2021 13h50Atualizada em 28/05/2021 14h08

A Prefeitura de Curitiba anunciou hoje a volta da bandeira vermelha na cidade, a mais restritiva da escala de controle da covid-19 na capital paranaense. As novas medidas am a valer a partir de amanhã e vigoram até 9 de junho.

As medidas previstas no decreto têm o objetivo de diminuir a circulação de pessoas na cidade e, consequentemente, a disseminação do coronavírus entre a população. Curitiba tem hoje cerca de 10 mil pessoas com vírus ativo e 100% de ocupação nos leitos de UTI (Unidade de Terapia Intensiva) para covid-19, segundo boletim da prefeitura. Já há fila de espera por esses leitos.

A bandeira vermelha estabelece que a circulação de pessoas nas ruas fica restrita entre as 21h e as 5h. O decreto destaca que os estabelecimentos autorizados a funcionar devem adequar o expediente de seus funcionários ao horário de funcionamento e priorizar o trabalho remoto, a fim de reduzir a circulação de pessoas no transporte coletivo, que deve circular com até 50% de sua capacidade de ageiros.

Atividades comerciais não essenciais e lojas de material de construção podem funcionar apenas com atendimento no sistema de entrega (delivery) e drive thru. Shoppings, galerias, centros comerciais e lojas de plantas só podem vender na modalidade delivery.

Bares, restaurantes e lanchonetes de rua só podem funcionar com delivery, drive-thru e retirada em balcão. A comercialização de alimentos de lojas de shoppings ou galerias podem operar todos os dias da semana, mas apenas por meio de delivery.

No caso das atividades permitidas, devem ser respeitados os protocolos de prevenção à covid-19, como uso de máscara, distanciamento mínimo de 1,5 metro e uso de álcool em gel. A lista das atividades consideradas essenciais, portanto com funcionamento permitido, pode ser consultada no site da prefeitura.

Supermercados, mercearias, distribuidoras de bebidas, açougue, feiras livres, podem funcionar com atendimento presencial de segunda a sábado, das 7h às 20h. No domingo, apenas com delivery.

O o a esses estabelecimentos deve ser a uma pessoa por família, evitando aglomerações. Também devem funcionar com um máximo de 50% da capacidade.