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

Casos confirmados sobem para 291 no Brasil; suspeitas ultraam 8 mil

17/03/2020 - Pedestres utilizando máscaras de proteção ao coronavírus na região da Estação do Brooklin do Metrô em São Paulo (SP) - Flavio Corvello/Futura Press/Estadão Conteúdo
17/03/2020 - Pedestres utilizando máscaras de proteção ao coronavírus na região da Estação do Brooklin do Metrô em São Paulo (SP) Imagem: Flavio Corvello/Futura Press/Estadão Conteúdo

Do UOL, em São Paulo

17/03/2020 16h19Atualizada em 17/03/2020 18h24

O Ministério da Saúde divulgou na tarde de hoje que o número de casos confirmados de coronavírus subiu para 291 no Brasil. Há 8.819 casos suspeitos. Nesta manhã foi confirmada a primeira morte em função do covid-19, em São Paulo.

O estado com mais casos é São Paulo, com 164 casos confirmados, seguido pelo Rio de Janeiro (33 casos).

Por conta da demora na tramitação oficial das informações cadastradas pelos estados na plataforma federal, há mais casos no país do que o informado no boletim oficial do Ministério da Saúde.

Mesmo se levados em consideração os dados estaduais, é provável que ainda assim o número não corresponda à realidade do país. Isso porque o Ministério da Saúde anunciou que nos estados em que há circulação comunitária da doença — São Paulo e Rio de Janeiro — o SUS priorizará testes em pessoas com maior risco de desenvolver casos graves.


Brasil vai ar por dias de muito 'estresse', diz ministro

Nesta tarde, o ministro da Saúde, Luiz Henrique Mandetta, afirmou que o governo projeta um crescimento no número de casos do coronavírus entre os meses de abril e junho, o que deve pressionar a capacidade de atendimento do sistema público de saúde.

"Vamos ar 60 a 90 dias de muito estresse", disse o ministro, em apresentação hoje sobre a situação do coronavírus no país.

Segundo o ministro, apenas em julho o crescimento no número de casos deve se estabilizar. A partir de setembro, diz Mandetta, deve ser menor a quantidade de novos casos.

A afirmação foi feita com base no que aconteceu em outros países onde o vírus se espalhou mais cedo que no Brasil.

Segundo o ministro, é esperado que entre 80% a 85% das pessoas infectadas não apresentem sintomas ou tenham apenas sintomas leves, como um resfriado.

Mandetta diz que 15% dos casos terão sintomas mais graves e devem precisar de atendimento hospitalar, e que de 4% a 5% dos pacientes deverão precisar de atendimento em UTIs.

As medidas para a restrição da circulação de pessoas nas cidades, como a suspensão das aulas em alguns estados, têm o objetivo de reduzir a velocidade da transmissão do vírus e, com isso, fazer com que menos pacientes precisem de internação ao mesmo tempo.