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

Ceará: ex-governador Camilo (PT) vence com folga eleição para o Senado

Camilo Santana (PT) é eleito no Ceará - Reprodução Facebook
Camilo Santana (PT) é eleito no Ceará Imagem: Reprodução Facebook

Colunista do UOL

02/10/2022 21h46

O ex-governador Camilo Santana (PT) venceu com folga hoje a eleição e ficou com a vaga do Ceará no Senado para os próximos oito anos. Camilo tinha o apoio do ex-presidente Luiz Inácio Lula da Silva (PT). Às 00h25 e 99,96% dos votos apurados, ele tinha recebido 69,75% dos votos válidos.

Ex-governador por dois mandatos (2015-2022), Camilo liderou de forma folgada as pesquisas de intenção de voto até a votação confirmar sua vitória. Ele deixou o governo com uma aprovação popular próxima a 80%.

Camilo terá como colegas no Senado pelo Ceará Cid Gomes (PDT) e Eduardo Girão (Podemos). Ele vai ocupar, a partir de fevereiro, a vaga deixada por Tasso Jereissati (PSDB), que vai se aposentar da vida pública.

Racha no Ceará

Camilo foi um dos pivôs do racha entre PT e PDT no Ceará, após a indicação de Roberto Cláudio pelos pedetistas para a disputa do governo do estado. Ele defendia a candidatura à reeleição de Izolda Cela (que era do PDT e deixou o partido após ser preterida), que era sua vice e assumiu o cargo após sua renúncia em abril.

O racha causou uma divisão na família Ferreira Gomes, com o senador Cid reclamando da forma como o seu partido escolheu o nome de Cláudio, já que ele também defendia a escolha da governadora Izolda como nome do consenso para manter a união.

Camilo recebeu apoio de Cid e do prefeito de Sobral, Ivo Gomes (PSB), na disputa pelo Senado. Ciro não declarou apoio e marchou sempre com Roberto Cláudio, que fazia duras críticas ao governo de Camilo.

O agora senador eleito contou ainda com apoio da governadora Izolda Cela, que sempre fez declarações de incentivo e, na semana final da campanha, também anunciou apoio ao candidato do PT ao governo, Elmano Freitas.

A campanha de Camilo, por sinal, foi feita de forma casada com a de Elmano, já que eles sempre percorreram as cidades em atos públicos juntos.