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

Capital não para por completo e SP decide hoje feriado na segunda no Estado

Carolina Marins*

Do UOL, em São Paulo

21/05/2020 01h30

A Assembleia Legislativa do Estado de São Paulo (Alesp) decide hoje sobre a proposta do governador João Doria de antecipar o feriado estadual de 9 de julho para a próxima segunda-feira (25). A medida, caso aprovada pelos deputados estaduais, valerá para todo o estado de São Paulo.

O objetivo do governador é aumentar a taxa de isolamento no Estado, índice que tem ficado abaixo das expectativas, só aumentando nos feriados e finais de semana. Se aprovada a medida, o feriado se unirá na capital com o feriadão decretado pelo prefeito Bruno Covas que ou a valer entre ontem e hoje, mais o ponto facultativo a ocorrer amanhã — no total, serão seis dias do 'megaferiado'.

O Projeto de Lei 351/2020 foi enviado pelo governador à Alesp na segunda-feira (18), e ontem foi aprovado o regime de urgência. A votação definitiva ocorre hoje a partir das 14h30, em sessão extraordinária em ambiente virtual.

As taxas de isolamento no Estado têm ficado abaixo de 50% nos dias de semana e crescem somente aos sábados, domingos e feriados. O objetivo do governo é elevar esse índice — o ideal é se aproximar de 70% — para não ser necessário decretar o lockdown (bloqueio total) no Estado.

Primeiro dia de feriadão

O feriadão implementado pelo prefeito de São Paulo, Bruno Covas (PSDB), começou ontem, como última cartada antes da medida mais restritiva. O que se viu, no entanto, foi uma movimentação ainda persistente na capital.

Repórteres do UOL percorreram a cidade e notaram que no centro, pela manhã, o fluxo foi intenso, tanto de carros como de pessoas. No Brás, comerciantes se aglomeravam e despejavam suas mercadorias em toalhas nas calçadas. O mesmo aconteceu na rua Santa Ifigênia, ponto de venda de produtos eletrônicos.

No parque do Ibirapuera, zona sul da capital, foi possível ver famílias reunidas fazendo piquenique ao redor do espaço de lazer, que se encontra fechado. Às margens do lago que fica em frente ao local, havia gente fazendo ioga, lendo, se alongando e correndo.

Já a avenida Paulista estava vazia. Por volta das 10h, poucas pessoas corriam na ciclovia e, diferentemente do que o UOL observou no centro histórico da cidade, o comércio respeitava o decreto de quarentena.

Estradas e transporte público

A lentidão em ruas e avenidas ficou abaixo da média dos dias de semana do último mês. Segundo a Companhia de Engenharia de Tráfego (CET), a capital não registrou congestionamentos até as 15h de ontem e a lentidão variou até picos de dois quilômetros em toda a cidade, menos do que na segunda e terça-feira.

No Metrô, ageiros disseram que o movimento nas estações teve pouca ou nenhuma diferença em relação aos dias úteis. Muitos trabalharam normalmente na capital, sem conseguir dispensa do trabalho.

As estradas que ligam a capital ao litoral tiveram congestionamento por causa do feriadão. Com medo de ver paulistanos viajando para praia, as cidades litorâneas realizaram bloqueios sanitários. Congestionamentos foram registrados em diferentes pontos do sistema Anchieta-Imigrantes e aumentaram em até três horas o tempo de viagem a Santos, segundo relatos de quem ficou parado na fila de carros.

O medo da presença de turistas paulistas também levou outros locais a dificultar o o. Florianópolis, por exemplo, emitiu decreto proibindo a locação de imóveis para pessoas residentes na cidade de São Paulo.

"Sabemos que Florianópolis é um dos destinos preferidos dos paulistas, e isso nos deixa felizes. Mas, neste momento de pandemia, não é hora de deslocamentos ou turismo", disse o prefeito Gean Loureiro, em nota à imprensa.

Cidades de Minas Gerais também pediram para que seus habitantes que tenham parentes em São Paulo não aceitem recebê-los como visita.

*Colaboraram Felipe Pereira, Marcelo Oliveira e Talyta Vespa do UOL em São Paulo; e com informações de Agência Brasil e Estadão Conteúdo