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

Prefeito de Porto Alegre critica bandeira preta: 'capital paga preço alto'

30.noiv.2020 - O prefeito de Porto Alegre, Sebastião Melo - Mateus Raugust/Divulgação
30.noiv.2020 - O prefeito de Porto Alegre, Sebastião Melo Imagem: Mateus Raugust/Divulgação

Do UOL, em São Paulo

26/02/2021 15h15

O prefeito de Porto Alegre, Sebastião Mello (MDB), criticou as medidas adotadas pelo governador do Rio Grande do Sul, Eduardo leite (PSDB), no enfrentamento à pandemia do coronavírus, entre elas a de colocar a capital na bandeira preta, que indica altíssimo risco de esgotamentos da capacidade hospitalar.

Em entrevista ao canal CNN Brasil na tarde de hoje, o prefeito afirmou que a população da capital vinha cumprindo o distanciamento e vai pagar um preço muito alto pela medida do governo estadual.

"A capital paga um preço muito alto por isso, porque nós adotamos todo distanciamento, combatemos as festas irregulares, e amanhã entramos na bandeira preta numa medida que o governador suspendeu a cogestao. A partir de amanhã, entramos só com serviços essenciais", declarou.

Na bandeira preta, estão autorizados a funcionar apenas serviços essenciais, como supermercados e farmácias. Bares e restaurantes podem funcionar apenas pelo serviço de delivery ou para retirada de pedidos.

"O Rio Grande do Sul vai praticamente parar sua economia para salvar vidas. Eu continuo pensando que você poderia produzir mais restrições, mas não fechar atividades. Mas foi uma decisão do governador, e não coube aos prefeitos opinarem sobre ela porque ele suspendeu a cogestão", afirmou.

Além disso, o prefeito disse que, por ele, manteria shoppings e supermercados abertos durante 24 horas, e não por 20 horas como determina a bandeira preta.

Segundo Melo, com horário estendido de funcionamento as pessoas teriam mais tempo para ir a esses locais, evitando aglomerações.

"Tenho uma tese de que quanto mais tempo você mantiver um comércio aberto, menos pessoas você vai ter nele", disse. "Posso mandar série de fotos na porta de fila em supermercado, gente se topando um no outro. Isso me parece que não é a melhor política. Se queremos distanciamento e menos pessoas, quanto mais horário melhor."

O prefeito, no entanto, não apresentou nenhum dado ou estudo que comprove sua opinião.