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

Reação de candidato a vereador que achou que teve só 1 voto viraliza

Colaboração para o UOL, em São Paulo

19/11/2020 10h47

Candidato a vereador em Japeri, município da Baixada Fluminense (RJ), Robertinho do Gelo (Cidadania) viralizou nas redes sociais nesta semana com vídeos que mostram a decepção dele ao acreditar que tinha obtido somente um voto nas eleições de domingo (15). O curioso é que, na verdade, o comerciante ficou com 43 votos, o que corresponde a 0,08% do total, segundo o TSE (Tribunal Superior Eleitoral).

Em um dos vídeos que circularam na internet, Robertinho do Gelo aparece animado promovendo sua candidatura antes da população ir às urnas. Já em outro, ele desabafa depois de saber, ainda enganosamente, que teria tido "só um voto". O político fala palavrões e aparece estressado com o resultado desfavorável.

"Segundo dia sem dormir por causa de vocês, p****. Só tive um voto, p****. Na hora de comer, beber, fica todo mundo atrás de mim. Eu ando na rua e vocês me idolatrando. 'Robertinho do Gelo', 'Robertinho do Gelo'. 'Robertinho do Gelo' é o c******. Só tive um voto, nem minha mulher votou em mim", reclama o candidato.

Veja o vídeo - mas atenção, já que ele é recheado de palavrões:

Outra filmagem mostra ainda Robertinho do Gelo caminhando na rua sem camiseta e sendo abordado por um homem, que o filma. O rapaz, que também acredita que houve apenas só um voto para o político, parece zombar dele.

Robertinho Gelo se incomoda em estar sendo gravado e responde. "Eu com cara de maluco. Estou cheio de problema, vai ficar me filmando, pô? não pode", repreende. E depois pergunta: "você votou em mim?".

O homem nega que tenha votado nele e ainda, — referindo-se à foto de outro candidato na urna — diz que do Gelo "não estava de blusa azul". O candidato então o insulta com mais palavrões. "Minha blusa era vermelha. [Você] está maluco, pô?", retruca, enquanto vai embora.

Mesmo com 43 votos, e não apenas 1, o resultado não foi suficiente para que Robertinho se elegesse. Ele será suplente.