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

Coronavírus: Rio chega a 170 mortes por covid-19; pelo menos 2.855 já foram infectados

Movimentação de consumidores, muitos deles usando máscaras de proteção contra o coronavírus, no Mercado Municipal do Rio - ANDRE MELO ANDRADE/ESTADÃO CONTEÚDO
Movimentação de consumidores, muitos deles usando máscaras de proteção contra o coronavírus, no Mercado Municipal do Rio Imagem: ANDRE MELO ANDRADE/ESTADÃO CONTEÚDO

Marcio Dolzan

Rio de Janeiro

12/04/2020 18h01

Quinze pessoas morreram de covid-19 em 24 horas no Rio de Janeiro e, com isso, o Estado atingiu 170 óbitos pela doença neste domingo (12). Outras 248 pessoas tiveram o diagnóstico do novo coronavírus confirmado entre sábado e domingo.

Ao todo, desde o início da pandemia o Rio de Janeiro registra 2.855 casos. Além disso, outras 115 possíveis mortes por covid-19 estão sob investigação.

As 15 mortes mais recentes foram de oito moradores da capital fluminense, incluindo uma mulher de 31 anos, duas pessoas de Itaguaí, duas de Nova Iguaçu, uma de Maricá, uma de Cachoeira de Macacu e outra de Rio das Ostras.

Dentre as 170 mortes já confirmadas pelo novo coronavírus no Estado, 96 eram homens e 74 eram mulheres. A maioria, 106, morava no Rio. Dezesseis óbitos foram registrados em Duque de Caxias. Niterói e Volta Redonda contabilizam seis mortos, Nova Iguaçu cinco e São Gonçalo, quatro. Belford Roxo e Maricá (três cada), São João de Meriti, Iguaba Grande, Itaboraí, Itaguaí, Rio Bonito, Rio das Ostras (duas mortes em cada cidade), e Arraial do Cabo, Bom Jesus de Itabapoana, Cachoeira de Macacu, Macaé, Mangaratiba, Mesquita, Miguel Pereira, Petrópolis e Tanguá, com uma morte cada, completam a lista.

Ao todo, pelo menos 61 municípios do Estado do Rio registram casos da doença. A maior concentração está no Rio, com 1.996 notificações. Niterói (120), Volta Redonda (107), Nova Iguaçu (88), Duque de Caxias (81), São Gonçalo (76), Belford Roxo (46), São João de Meriti (34), Mesquita (30), Petrópolis (28), Itaboraí (24), Magé (20), Nilópolis (20), Maricá (18), Nova Friburgo (15), Barra Mansa (11), Queimados (11), Teresópolis (8), Cabo Frio (7), Barra do Piraí, Macaé, Resende, Rio das Ostras (seis cada), Angra dos Reis, Itaguaí e Rio Bonito (5), Campos dos Goytacazes, Casimiro de Abreu , Iguaba Grande, São Pedro da Aldeia e Seropédica (4), Araruama, Bom Jesus de Itabapoana, Guapimirim, Japeri, Mangaratiba, Paraíba do Sul, Porto Real e Tanguá (3), Bom Jardim, Cachoeiras de Macacu, Itaperuna, Miguel Pereira, Paty do Alferes, Quatis, São Fidélis, Saquarema e Valença (2), Arraial do Cabo, Cantagalo, Itatiaia, Paracambi, Paraty, Piraí, Porciúncula, Rio das Flores, São Francisco de Itabapoana, São João da Barra, Sapucaia, Sumidouro e Três Rios (1) completam lista. Um caso é de paciente com residência em investigação.