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

SP libera bar e restaurante até 22h em regiões há 14 dias na fase amarela

Felipe Pereira e Patrick Mesquita

Do UOL, em São Paulo

05/08/2020 12h54

O governo de São Paulo liberou hoje o funcionamento de bares, restaurantes, padarias e similares até 22h em cidades que estejam há mais de 14 dias consecutivos na fase amarela do plano de retomada gradual das atividades econômicas. Os estabelecimentos podem abrir as portas por até seis horas diárias, consecutivas ou não. A capital do estado, por exemplo, está liberada para adotar a medida assim que o decreto for assinado.

"O Centro de Contingência constatou que não houve impacto negativo nos indicadores com a retomada gradual do consumo em restaurantes. A partir desta constatação, o governo vai publicar o decreto amanhã", anunciou o governador João Doria (PSDB), em entrevista coletiva no Palácio dos Bandeirantes.

De acordo com o governador, não será permitida a permanência de pessoas em pé nos estabelecimentos. A ocupação máxima segue de 40%, é preciso fazer reserva de mesas com antecedência e o uso de máscaras é obrigatório.

Segundo Doria, o estado tem mais de 200 mil estabelecimentos de consumo de alimentos e o setor gera 800 mil empregos.

Protocolo na capital

O horário de funcionamento de bares, restaurantes e similares foi um ponto de divergência entre o governo estadual e a Prefeitura de São Paulo na definição do plano de retomada da economia. Tanto que em sua manifestação sobre o assunto, o prefeito da capital, Bruno Covas (PSDB), afirmou que a Vigilância Sanitária municipal jamais se opôs ao funcionamento até as 22 horas.

"A Vigilância Sanitária (municipal) nunca viu aqui no município qualquer tipo de problema em abertura de bares e restaurantes até as 22 horas. Tanto que o protocolo assinado com a Prefeitura com o setor não vai precisar ser refeito porque já previa o atendimento até as 22h", disse Covas.

Limite até as 17h

Ontem, em entrevista à Rádio Bandeirantes, Doria já havia dito que uma reunião do Centro de Contingência definiria a situação. Até então, o setor estava liberado a funcionar por seis horas seguidas nas regiões na fase amarela, mas com limite de atendimento aos clientes até 17 horas. Representantes dos estabelecimentos alegaram que não vale a pena abrir apenas durante o dia e demandaram o funcionamento a noite.

A Prefeitura de São Paulo também vai começar um projeto-piloto para bares usarem as calçadas para montarem mesas. A autorização vai ser oficializada amanhã por meio de um decreto e incluirá quatro ruas do centro que abrigam 32 estabelecimentos.

O plano permite a utilização de eios públicos e estacionamentos dos bares. A ideia é ter uma resposta sobre a eficácia do projeto-piloto em quatro semanas para saber se o modelo pode ser aplicado em outros lugares.

Recuperação de empregos

O secretário de Turismo de São Paulo, Vinicius Lummertz, acredita que a medida ajudará em uma recuperação de empregos no estado.

"O setor deve dobrar o faturamento. Vai para perto de 50%, porque a parte noturna fatura mais. Com isso, começamos a recuperação de empregos. Perdemos muitos empregos por suspensão. O turismo tem condições de uma volta rápida", disse o secretário.