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

Crivella diz que shoppings do Rio poderão reabrir amanhã, com restrições

Prefeito do Rio de Janeiro, Marcelo Crivella (Republicanos-RJ), durante coletiva - André Melo Andrade/Myphoto Press/Estadão Conteúdo
Prefeito do Rio de Janeiro, Marcelo Crivella (Republicanos-RJ), durante coletiva Imagem: André Melo Andrade/Myphoto Press/Estadão Conteúdo

Do UOL, em São Paulo

10/06/2020 13h12

Apresentando mais uma parte do plano de reabertura gradual da economia do Rio de Janeiro, o prefeito Marcelo Crivella (Republicanos) afirmou em coletiva de imprensa hoje que os shopping centers da cidade poderão reabrir amanhã, com restrições. A decisão foi tomada após uma reunião com o comitê científico e representantes da atividade econômica.

"Diante disso, a vigilância sanitária propôs que nós adiantássemos a abertura dos shoppings da nossa cidade e estabeleceu então as 'Regras de ouro'. Os líderes dos shoppings estiveram em reunião conosco para estabelecer um acordo, e todos eles aceitaram as regras. Amanhã, os shoppings voltam a abrir", disse Crivella.

O horário de atendimento será de 12h às 20h nas lojas, e haverá um número de ocupação máxima dos estacionamentos e espaços. No caso das praças de alimentação, a reabertura está prevista para a terceira fase da retomada de atividades.

A reabertura dos shoppings estava prevista somente para a segunda fase da flexibilização do Rio de Janeiro, mas foi adiantada porque os "parâmetros que balizam as medidas de afastamento social são favoráveis", de acordo com o prefeito. Enquanto isso, o comércio de rua segue sem autorização para a retomada das atividades.

"Nossos dados são clínicos e precisos. Levamos em conta leitos de UTI, de enfermaria e óbitos, que têm diminuído. Hoje temos leitos livres e estamos podendo ajudar outros municípios. Isso nos deu confiança em adiantar essa medida. Mas todos devem saber que, se houver piora, voltaremos atrás. O importante é proteger vidas", considerou Crivella.

Restrições

Entre as chamadas "Regras de Ouro" para os shoppings estão o distanciamento de 2 metros entre as pessoas, o uso de álcool em gel e máscaras, a limpeza e manutenção do ar-condicionado, medição de temperatura, liberação de apenas um terço do estacionamento, e a entrada de animais somente se forem para lojas pets para atendimento.

As áreas de convivência permanecem sem poder funcionar. Não haverá também manobristas nem aluguel de carrinhos de bebês. Todas as ações serão coordenadas e fiscalizadas pela Vigilância Sanitária e pela Secretaria de Ordem Pública.

Segundo as recomendações gerais da prefeitura, a istração de cada shopping deverá promover capacitação interna referente às medidas de prevenção à covid-19. Já as lojas deverão seguir os protocolos estabelecidos para cada atividade.

Entre os protocolos está a higienização das áreas de maior circulação, como banheiros, elevadores e escadas, e de pontos de maior contato, como bancadas e cadeiras, com uma frequência maior. Reforçando a recomendação de distanciamento, também serão instalados marcadores no piso para direcionar o sentido de deslocamento.