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

Esse conteúdo é antigo

Neta relata que não pôde levar avó a velório da irmã por caos de bloqueios

Apoiadores Bolsonaro bloqueiam BR-101 em Palhoça, na região metropolitana de Florianópolis (SC) - Anderson Coelho/Getty Images
Apoiadores Bolsonaro bloqueiam BR-101 em Palhoça, na região metropolitana de Florianópolis (SC) Imagem: Anderson Coelho/Getty Images

Giulia Granchi - Da BBC News Brasil em São Paulo

02/11/2022 14h38

Escassez de gasolina em Indaial, Santa Catarina, prejudicou a ida de Ceci ao velório da irmã.

O velório de Gessi Tigre, 77 anos, aconteceu em Curitibanos, no Estado de Santa Catarina, na tarde de ontem. Apesar da vontade de estar presente, sua irmã Ceci, 68, residente de Indaial, a cerca de 180 quilômetros de distância, não conseguiu chegar por conta dos bloqueios rodoviários, segundo o relato de sua neta.

No caso de Ceci e da neta Djeniffer da Silva, que pretendia levar a avó para se despedir da irmã, não foi diretamente o trânsito que impediu que chegassem, mas a escassez de combustíveis nos postos da cidade, já que as cargas ficaram presas nas estradas.

"Eram filas quilométricas nos postos de gasolina e relatos de falta de combustíveis em alguns lugares, já que com a escassez, muitos correram para encher os tanques. Não tínhamos tempo o suficiente para conseguir a gasolina e fazer a viagem de três horas", conta Djeniffer.

Ceci enviou um breve áudio à reportagem. "Eu não tenho palavras para essa situação, não consegui chegar ao velório da minha irmã e não estou bem", disse, pedindo para que a neta relatasse por ela o que aconteceu.

A família, segundo Djeniffer, está dividida nas opiniões sobre os protestos em que apoiadores do presidente Jair Bolsonaro (PL), derrotado nas urnas no domingo (30/10), se recusam a aceitar o resultado e, em muitos casos, pedem que as Forças Armadas deem um golpe de Estado.

Pessoalmente, ela diz não apoiar, e afirma que acha injusto que pessoas tenham perdido também compromissos relacionados à saúde, como consultas médicas e sessões de tratamento.

"Também falamos muito sobre os danos econômicos que os protestos trazem, mas há esses danos psicológicos e emocionais, como no caso da minha avó, causados por perder um momento que não volta mais. E a da minha avó é só uma das histórias, mas quantas outras não tiveram">var Collection = { "path" : "commons.uol.com.br/monaco/export/api.uol.com.br/collection/noticias/politica/data.json", "channel" : "politica", "central" : "noticias", "titulo" : "Política", "search" : {"tags":"28132"} };