;(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 votada em 2018, Janaina perde Senado: 'Não tive apoio da direita'

Janaina Paschoal, foi deputada estadual em São Paulo - Fernando Moraes/UOL
Janaina Paschoal, foi deputada estadual em São Paulo Imagem: Fernando Moraes/UOL

Hysa Conrado

De Universa, em São Paulo

02/10/2022 20h36

Candidata ao Senado por São Paulo, Janaina Paschoal (PTRB) não conseguiu repetir o feito das eleições de 2018, quando foi a deputada estadual mais votada da história, com mais de dois milhões de votos. Com quase 100% das urnas apuradas neste domingo (2), a candidata alcançou a preferência de apenas 2,09% dos eleitores, o equivalente a 430.224 votos, enquanto o candidato eleito o Astronauta Marcos Pontes (PL) conquistou 10.542.195.

Em entrevista a Universa, a deputada comentou sua derrota: "O que vejo é que houve todo um discurso para concentrar os votos da centro-direita no candidato apoiado pelo presidente Bolsonaro, para evitar a vitória do candidato de esquerda. E eu não tive apoio."

Janaina também falou sobre a falta de recursos de campanha. "Eu não tive fundo eleitoral, não pedi doações, porque eu tenho essa preocupação de ficar devendo favor", disse. Segundo a deputada, ela fez a campanha apenas com seus recursos. "Devo ter gastado um pouquinho mais de 40 mil reais, dinheiro meu somente", afirma.

Por regra, os partidos precisam rear pelo menos 30% do fundo partidário para campanhas femininas. Mas é cada sigla que define para quais candidatas vai o dinheiro.

A parlamentar, no entanto, não considera o resultado das urnas uma derrota pessoal. "Nem dá para dizer que fui mal. Perdi, obviamente, mas esses pontos têm que ser destacados. Eu sou uma crítica do sistema eleitoral. Acho que tudo tem que ser mexido, esses fundos bilionários."

Janaina também criticou seu tempo de propaganda política na TV. "Os três candidatos que ficaram à minha frente estavam na TV, são de partidos grandes e tiveram muito tempo. Eu não tive nenhum segundo de TV, o que eu considero muito antidemocrático."

Para finalizar, a deputada falou de seus próximos os e, talvez, o afastamento da política. "Meu mandato termina em 2023. Depois disso, tenho minha carreira, sou advogada, professora de Direito... A princípio, volto para as minhas carreiras, para minha vida normal", fala.

Quem é Janaína Paschoal

Janaína é jurista, professora licenciada de Direito Penal na USP (Universidade de São Paulo), e foi uma das autoras do processo de impeachment contra a ex-presidente Dilma Rousseff (PT).

No pleito que elegeu Jair Bolsonaro (PL) para seu primeiro mandato como presidente, Janaína chegou à Assembleia Legislativa alçada pelo antipetismo e pelo bolsonarismo que vivia sua ascensão na época, e chegou a ser cotada para ocupar a vice-presidência de Bolsonaro antes de decidir concorrer como candidata à deputada estadual.