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

Russomanno sugere que falta de banho ajuda moradores de rua contra covid-19

Celso Russomanno criticou a quarentena feita em São Paulo - FÁBIO VIEIRA/FOTORUA/ESTADÃO CONTEÚDO
Celso Russomanno criticou a quarentena feita em São Paulo Imagem: FÁBIO VIEIRA/FOTORUA/ESTADÃO CONTEÚDO

Colaboração para o UOL

13/10/2020 20h49

Celso Russomanno (Republicanos), candidato a prefeito de São Paulo, disse que moradores de rua podem ter mais resistência contra covid-19 porque não tomam banho com frequência. Ele falou isso depois de um evento com empresários da Associação Comercial de São Paulo.

Russomanno deu uma entrevista à Rede Globo e comentou que "todo mundo esperava que a covid-19 tomasse conta dos moradores de rua". Mas o candidato acredita que isso não aconteceu.

"Nós temos casos pontuais e não temos uma quantidade imensa de moradores de rua com problema de covid. Talvez eles sejam mais resistentes do que a gente, porque eles convivem o tempo todo nas ruas, não tem como tomar banho todos os dias", cogitou Russsomanno.

Não existe qualquer estudo que relacione a falta de banhos com a prevenção contra covid-19. A OMS (Organização Mundial da Saúde) costuma recomendar que as pessoas tomem banho para evitar a infecção pelo novo coronavírus.

Russomanno também criticou a forma como foi feita a quarentena na cidade de São Paulo. De acordo com a pesquisa Datafolha mais recente, o principal adversário dele na disputa é Bruno Covas (PSDB), atual prefeito, que foi quem comandou o isolamento na capital.

"Esse isolamento deveria ter sido feito, depois dos primeiros 30 dias, de forma vertical, cuidando das pessoas com problemas respiratórios, das pessoas cardíacas, dos idosos, das pessoas com deficiência...deveria ter sido cuidado disso, e não fechado o comércio do jeito que foi feito, quebrando e desempregando todo mundo, agora nós vamos ter que consertar isso tudo. E não vai ser fácil não", alertou Russomanno.

Enquanto esteve no evento com empresários, Russomanno falou sobre outros temas do comércio. Ele prometeu que não vai permitir a venda de pirataria em São Paulo e prometeu dar um auxílio para empresários.

"Eu vou fazer tudo para trazer as coisas para São Paulo, inclusive recursos para os pequenos e médios empresários. O auxílio paulistano é o complemento ao auxílio emergencial, que a gente mantém a economia girando. Porque se tem dinheiro para comprar, a gente está fazendo com que a sociedade gire", concluiu Russomanno.