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

Júlio Lancellotti diz que fala de Bia Doria representa o que muitos pensam

Padre Júlio Lancellotti no Papo de Segunda - Reprodução/vídeo
Padre Júlio Lancellotti no Papo de Segunda Imagem: Reprodução/vídeo

Colaboração para o UOL

13/07/2020 23h47

Durante o "Papo de Segunda" de ontem, na GNT, o Padre Júlio Lancellotti comentou a fala de Bia Doria em que exclamou que não se deve doar alimentos a moradores de rua. Segundo o sacerdote, a frase dita pela primeira-dama do estado de São Paulo representa o pensamento de muitas pessoas, infelizmente.

"O que espanta nessa declaração não é tanto a declaração de uma pessoa, mas uma pessoa que faz a declaração de muita gente que pensa assim e olha para a população de rua com preconceito, discriminação e certo apartheid", disse o padre.

No início de julho, Bia Doria disse em um vídeo para a socialite Val Marchiori que não se deve doar marmitas para moradores de rua porque "as pessoas gostam de ficar na rua" e elas "têm que se conscientizar e sair dessa situação".

O vídeo viralizou nas redes sociais e se tornou um dos assuntos mais comentados da semana. Sobre a afirmação polêmica, Lancellotti lamentou: "Esse pensamento é comum. Ele pode não ser geral, mas é bastante comum".

Lancellotti, que há mais de 30 anos se dedica a trabalhos sociais para amparar moradores de rua, explicou que eles fazem parte de uma população invisível em determinados momentos, mas "se eles estão na sua porta, na frente de um comércio ou querendo entrar no shopping, são visíveis e incomodam".

"O mais triste é que eles são indesejados. Ninguém diz: 'que bom que você chegou', 'estava com saudade', ou 'onde você estava?". Ninguém se importa com eles. Só se importam se eles estiverem incomodando", falou o padre, e completou: "A nossa política é higienista, violenta e infelizmente a polícia militar tem sido extremamente truculenta com a população de rua".

O "Papo de Segunda" é exibido às segundas-feiras, às 22h30, no canal GNT.