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

Mais pontes, 'Jovem Guarda', cadeira de rodas: veja ideias de Joice para SP

13.out.2020 - Fábio Vieira/Estadão Conteúdo
Imagem: 13.out.2020 - Fábio Vieira/Estadão Conteúdo

Nathan Lopes

Do UOL, em São Paulo

26/10/2020 04h00

Candidata do PSL a prefeita de São Paulo, Joice Hasselmann pretende construir mais pontes e viadutos na capital paulista. Em seu plano de governo, ela também fala sobre um serviço de empréstimo de cadeiras de rodas em terminais de ônibus perto de hospitais e em utilizar adolescentes de 16 a 18 anos de idade em um projeto de "Jovem Guarda".

Nesta semana, o UOL apresenta os últimos resumos sobre os programas de governo dos postulantes ao cargo de prefeito de São Paulo. O documento apresentado pela campanha de Joice à Justiça Eleitoral possui 84 páginas. A íntegra do programa de governo está disponível neste link.

Pontes nas marginais

No tema mobilidade, a campanha indica que pensa em "construir pontes e viadutos sobre os rios Tietê e Pinheiros ao longo das marginais para melhorar a ibilidade". O texto de Joice diz que as duas vias hoje causam "grandes congestionamentos" nos pontos de cruzamento por pontes.

Dados da prefeitura apontam que existem 34 pontes e viadutos ao longo dos 46 km de marginais. No programa, a campanha não indica quantas estruturas pretende construir.

Segundo o coordenador do plano de governo, Marcos Cintra, a ideia é ao menos dobrar o número de estruturas. "O programa de construção de pontes não é uma solução, mas atenua a curto prazo essa questão [dos congestionamentos]", diz. Ele diz que cada obra poderia custar entre R$ 20 milhões e R$ 30 milhões, "no máximo, se custar".

O texto também indica que uma eventual gestão de Joice pretende "otimizar permanentemente as vias marginais, assegurando velocidades cientificas que determinem a eficácia da via e segurança do cidadão". O plano, porém, não dá nenhuma dica se isso significa que os limites de velocidade nas marginais seriam reduzidos ou aumentados.

De acordo com Cintra, a questão dependeria da análise. "Existem parâmetros que mostram qual é a velocidade ideal, qual minimiza riscos, acidentes", diz, sem indicar quais. "É uma discussão técnica, você tem que ver o fluxo. É uma ideia de despolitizar a questão de velocidade."

Ainda em mobilidade, a campanha diz que irá "instituir o serviço de empréstimo de cadeiras de rodas" em terminais de ônibus próximos a hospitais. A maneira como a ideia seria executada não é detalhada no programa.

O coordenador diz que a intenção é ter parcerias sobre o projeto, mas que a prefeitura poderia operacionalizá-lo por conta própria. O formato do sistema, porém, ainda deverá ser estudado.

A candidatura de Joice propõe ainda utilizar adolescentes com idades entre 16 e 18 anos no programa que batizou de "Jovem Guarda Paulistana". O plano de governo explica que eles seriam aprendizes no projeto de "ensino complementar educacional e pedagógico". Para a campanha, a ideia "proporcionará educação, bons princípios, inserção social e evitará o arrebatamento desses jovens pelo crime".

Ensino à distância fica

O ensino à distância poderá ser utilizado em "caráter permanente" ou em "períodos reduzidos" no governo de Joice. "A ideia é ter um sistema semipresencial, que é o ideal em qualquer ensino moderno hoje em dia. Presencial jamais será substituído pela distância 100%, mas acho que há um espaço para 10%, 15% das sessões das aulas", diz, explicando que a proposta está aplicada ao projeto de disponibilizar wi-fi na cidade toda.

A campanha fala em distribuir tablet ou computador "sem custo a todo aluno que se enquadre nos critérios socioeconômicos". A campanha não diz qual seria o subsídio, mas indica que "um dispositivo em torno de R$ 1.000,00" poderia atender a demanda. "É uma estimativa de custo", explica Cintra.

O plano de governo também traz promessas, como não reajustar o IPTU (Imposto Predial e Territorial Urbano) "pelo menos durante os dois primeiros anos de minha istração" e "acabar com loteamento partidário de secretarias, subprefeituras, autarquias, fundações e empresas públicas municipais".

"Membros respeitados" em conselhos

A candidatura pretende dar liberdade para as subprefeituras. Joice também diz que irá criar um "Conselho de Moradores" para cada subprefeitura. A campanha indica que ele seria composto "pelos mais respeitados membros de cada comunidade e ao qual o subprefeito deverá submeter periodicamente seus atos de gestão".

O texto não mostra como se identificam "membros respeitados" das comunidades. O coordenador diz que a intenção é que eles sejam pessoas "conhecidas e respeitadas" nos bairros. O processo de escolha também não está definido. "É possível que sejam candidaturas livres, que a gente peça para associações de bairros fazerem indicações de candidatos, que elas façam processos seletivos. Só na hora de começar a implantar que a gente vai ver a ideia", diz Cintra.

Outro ponto do programa é gerar estímulos para "para o crescimento da filantropia e do investimento social". O documento não diz quais seriam os benefícios. Cintra explica que deve haver a ideia de dar algum incentivo fiscal, como "espécie de um aperitivo para a pessoa entrar no mundo da filantropia".

Na mais recente pesquisa do Datafolha, Joice foi de 1% para 3% nas intenções de voto. O primeiro turno da eleição acontece em 15 de novembro.

Eleições 2020 em SP: políticos fazem campanha na capital