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

Secretários de Saúde pedem ao governo toque de recolher e volta do auxílio

Em carta, secretários sugeriram medidas para evitar o "iminente colapso" das redes pública e privada de saúde - Michael Dantas/AFP
Em carta, secretários sugeriram medidas para evitar o "iminente colapso" das redes pública e privada de saúde Imagem: Michael Dantas/AFP

Natália Lázaro

Colaboração para o UOL, em Brasília

01/03/2021 14h50Atualizada em 01/03/2021 15h32

Secretários estaduais de Saúde publicaram carta aberta ao governo federal pedindo pelo estreitamento das medidas de prevenção ao novo coronavírus. Por meio do Conselho Nacional de Secretários de Saúde (Conass), o objetivo do texto é "evitar o iminente colapso nacional das redes pública e privada de saúde".

Entre as medidas sugeridas, estão o toque de recolher noturno — das 20h às 6h — e aos finais de semana, além da "restrição em nível máximo" das atividades em regiões com ocupação de leitos acima de 85%. Eles também pedem pela proibição de eventos presenciais como shows, atividades religiosas e esportivas, e pelo fechamento de bares de praias.

Na carta, os secretários requerem a suspensão de aulas presenciais e a adoção do trabalho remoto nas esferas públicas e privadas. Eles também avaliam como "necessária" a "adequação legislativa das condições contratuais que permitam a compra de todas as vacinas" e pedem pelo "retorno imediato" do auxílio emergencial.

"Entendemos que o conjunto de medidas propostas somente poderá ser executado pelos governadores e prefeitos se for estabelecido no Brasil um 'Pacto Nacional pela Vida' que reúna todos os poderes, a sociedade civil, representantes da indústria e do comércio", disseram, alegando precisar da "explícita autorização e determinação legislativa do Congresso Nacional".

"O relaxamento das medidas de proteção e a circulação de novas cepas do vírus propiciaram o agravamento da crise sanitária e social, esta última intensificada pela suspensão do auxílio emergencial", defenderam.

Oito estados brasileiros (MS, PR, BA, PB, CE, PI, AM e RN) e o Distrito Federal decretaram o lockdown este ano, com a chegada da segunda onda da covid-19. O DF iniciou ontem o regime de restrição de circulação e das atividades comerciais.