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

Governo de SP recomenda mercados abertos, mas 'não é para comprar roupas'

João Gabbardo também pediu para que pessoas façam compras sozinhas - Divulgação/Governo Estadual
João Gabbardo também pediu para que pessoas façam compras sozinhas Imagem: Divulgação/Governo Estadual

Colaboração para o UOL

24/03/2021 14h32

O governador de São Paulo, João Doria (PSDB), disse hoje que, durante a fase emergencial no estado, não recomenda o fechamento de supermercados nem qualquer restrição para vendas de produtos nestes estabelecimentos. No entanto, o pedido do governo é para que as pessoas façam apenas compras essenciais, diminuindo assim o risco de contágio.

"A recomendação expressa do governo é não fechar supermercados. Eles representam pontos de abastecimento fundamentais para a população. Não importa o tamanho do mercado. Devem ficar abertos", declarou Doria, em entrevista coletiva no Palácio dos Bandeirantes.

O governador destacou os protocolos que todos mercados devem seguir, como limitação de apenas 40% da capacidade, medição de temperatura, uso de máscaras e de álcool em gel. Segundo o governo, a maioria dos supermercados tem seguido essas instruções.

João Gabbardo, coordenador executivo do Centro de Contingência da covid-19 em São Paulo, deu mais orientações.

"O ideal é que a pessoa faça individualmente a compra e fique o menor tempo possível no supermercado. Não vai haver proibição de compra de produto. Mas o ideal é que a pessoa faça a aquisição daquilo que é essencial. Não é para comprar ar condicionado, bicicleta e roupa, porque isso faz com que a pessoa fique mais tempo no mercado e aumente o risco de contaminação", alertou Gabbardo.

Doria aproveitou para esclarecer que não vai proibir a compra de produtos não essenciais, como já foi feito em outros locais. "Não fecharemos gôndolas. É um direito do consumidor comprar o que quiser, mas não recomendamos. Recomendamos que as pessoas se dirijam para comprar aquilo que é essencial, deixando outras compras para quando estivermos na faixa adequada, que permita circulação", concluiu o governador.

Atualmente o estado de São Paulo está na fase emergencial, que impõe algumas restrições para serviços essenciais, mas não limita supermercados. Porém, as prefeituras têm liberdade para aplicar medidas mais restritivas, se acharem necessário.