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

Meus amigos refugiados

A experiência de ajudar pessoas e contar histórias em meio a uma crise humanitária

“Aqui, refugiado odeia jornalista.”

Esse foi o primeiro conselho que recebi ao chegar ao porto de Pireus, o maior da Grécia e que se transformou, de agosto de 2015 até 27 de julho deste ano, num campo de refugiados. A dica fez com que eu praticamente não mostrasse a câmera fotográfica/filmadora na primeira semana de trabalho por lá. Eu queria me aproximar. Entender e sentir, quanto fosse possível, o que havia de vida naquela situação. Precisava ir com calma.

Havia um consenso entre sírios e afegãos, que estavam em maior número, e a minoria de iranianos, iraquianos, argelinos e marroquinos: a imprensa internacional se aproveitava deles. Reclamavam que os jornalistas, muitos ando poucas horas entre os refugiados, queriam falar sobre a crise num estilo “como-foi-a-viagem-no-bote-pelo-mar-Egeu-e-quem-da-sua-família-foi-morto-pelo-Taleban-e-quem-escapou-do-Estado-Islâmico”. E o pior, segundo eles: imagens eram feitas sem autorização, sendo que muitos ali eram perseguidos em seus respectivos países. Para quem precisava fugir, aparecer na TV era o mesmo que ar o novo endereço. Segundo os afegãos, quem trabalhou para o governo do país ou para qualquer instituição dos Estados Unidos é sumariamente considerado traidor. E todos sabem o que significava ser considerado traidor.

Recolhi muito cobertor sujo. Fiz limpeza em todo canto. Cuidei da portaria do armazém. Ajudei na distribuição de roupa. Cozinhei em grupo para mais de 1.500 pessoas. Ajudei a distribuir rações de macarrão, batatas e pão fornecidas pelo governo grego. Não era uma refeição tenebrosa. No nosso mundo ideal, é o que chamamos de “dá para comer”. Mas eles precisavam de proteína. Então cozinhávamos wraps com frango desfiado, variando com homus, babaganoush e salada no pão sírio.

Eu tinha um objetivo com essas ações: promover uma troca do bem, fazendo o que podemos chamar de jornalismo voluntário. Uma postura que não se limita a absorver e reportar, mas que também dá algo em troca – ou ao menos tenta. A partir do momento em que eles me viram dormindo no mesmo lugar, escovando os dentes nas torneiras coletivas, atuando como voluntário, me integrando àquela rotina, aram a sentir confiança. Não deixei em nenhum momento de explicar que era jornalista. E que estava ali com um propósito, com uma ideia a ser executada. Foram retratados apenas aqueles que toparam essa essência.

Todos os voluntários queriam ajudar de forma independente, sem vínculo com instituições. Alguns se bancavam com doações via crowdfunding. Outros usavam recursos próprios – era o meu caso. Eu oferecia minha mão de obra para o que fosse necessário. Arcava com compras pequenas de suprimentos, desde cartão de recarga para celular até mesmo chá e café. Vivi no local por 45 dias. E realizei, com apoio dos meus amigos refugiados, dois projetos. Um sobre os adultos e suas histórias de vida, tentando mostrar quem são aquelas pessoas e quais eram, ou ainda são, os seus sonhos. Trata-se do “I Am Immigrant” (Eu Sou Imigrante).

O outro projeto se chama “Drawfugees”. O conceito é baseado numa das mais clássicas atividades recreativas: dar papel, canetas coloridas e giz de cera para as crianças desenharem. A proposta era tentar construir um momento de lazer para quem está tentando manter a infância por perto. Segundo a Agência da ONU (Organização das Nações Unidas) para Refugiados, 51% das 65 milhões de pessoas em deslocamento forçado pelo mundo são crianças. Elas são expostas no noticiário a todo momento. Morrem na praia. No mar. Muitas ainda não conhecem uma vida que não seja em guerra. Com essa carga, ainda é possível se expressar por meio de desenhos? A reação de algumas delas nos vídeos e fotos deste TAB pode dar uma resposta.

Criando o futuro

Crianças se expressaram e tiveram uma surpresa. Agora falta o mundo entender o problema

A stonehouse

A parte mais difícil da minha vida de jornalista voluntário em Pireus foi tomar conta da porta do armazém, batizado de Stonehouse (Casa de Pedra). Era o tipo de trabalho que ninguém queria fazer. Não paravam de bater no portão de ferro. Abri-lo realmente exigia da parte psicológica. Sempre aparecia alguém pedindo roupa, comida, sandálias etc. E era duríssimo explicar que, mesmo com suprimentos, você não poderia prover nada naquele momento, pois havia horários determinados para a distribuição e, se você abrisse uma exceção, em segundos uma fila se formaria e a situação poderia ficar fora de controle.

Os dias e horários de distribuição estavam escritos, em árabe e farsi, numa cartolina. Apenas refugiados recém-chegados, com fome e sem roupas, eram prontamente atendidos. Além disso, havia a rixa entre sírios e afegãos, que em alguns momentos lembrava mais uma briga entre irmãos. Se um sírio ganhasse um suco de caixinha e um afegão visse a cena, era reclamação na certa: “por que para os sírios e não para os afegãos, por quê">

Esta reportagem também contou com apoio de:

Laila Ben Chaout, tradução árabe; Rahman Haydari, tradução farsi/pashto; Rodrigo Abreu, vinheta “I Am Immigrant”; Rômulo Rodrigues, logo “I Am Immigrant”; Rodrigo Franco, logo “Drawfugees”. Agradecimentos aos amigos e familiares e a todos os voluntários que trabalharam de forma independente em Pireus. Para saber mais sobre os projetos visite www.imimmigrant.com.

[email protected]

 

Direção: Rodrigo Flores; Edição: Daniel Tozzi; Reportagem: Gabriela Fujita, Juliana Carpanez, Rodrigo Bertolotto, Thais Carvalho Diniz; UX/design: André Alcalay, Mariana Romani, Solenn Robic; Vídeo: Mariah Kay, Ricardo D'Addio;