;(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
Bom pra todo mundo

Bom pra todo mundo

Caçamba Solidária arrecada materiais e realiza obras em comunidades no RJ

Caçamba Solidária começou com desejo de arquitetos em ajudar - Divulgação
Caçamba Solidária começou com desejo de arquitetos em ajudar Imagem: Divulgação

Juliana Vaz

Colaboração para Ecoa, de São Paulo

18/01/2021 04h00

No início de março de 2020, quando o novo coronavírus fez suas primeiras vítimas no Brasil, a arquiteta carioca Paloma Yamagata voltou de uma viagem e orientou os colaboradores de seu escritório a trabalharem de casa. Pensava que o isolamento social, que fazia em casa, no Rio de Janeiro, duraria duas semanas, no máximo.

"Eu nunca havia ficado 15 dias em casa. Tive muita dificuldade de me organizar e estabelecer uma rotina. Fiquei meio mal. E, ao mesmo tempo, comecei a receber mensagens em grupos de pessoas que diziam 'vamos postar fotos da última viagem à Itália para demonstrar apoio às vítimas da pandemia'. Aquilo foi tão fora da realidade, tão absurdo diante do que estava acontecendo, que me motivou a fazer algo de efetivo para ajudar pessoas em situação de vulnerabilidade", conta.

Sem um plano bem definido, ela, os pais e alguns amigos fizeram uma vaquinha e compraram o que podiam no supermercado - foram 650 kg de alimentos no total. Doaram metade para a comunidade de Rio do Ouro, em São Gonçalo, e outra parte para a Vila Aliança, em Bangu. Com um vídeo em seu perfil pessoal no Instagram, ela agradeceu aos amigos que a ajudaram na ação, e em seguida recebeu mais dezenas de mensagens de pessoas querendo participar de alguma forma.

"Diante da repercussão, entendi o potencial que tínhamos se nos uníssemos. Eu liguei para alguns amigos arquitetos também e propus: já que somos formadores de opinião de alguma forma, vamos nos unir para fazer algo de efetivo?" Eles espalharam a mensagem entre grupos e somaram 4 mil arquitetos de todo o Brasil, que se mobilizaram para arrecadar e distribuir cestas básicas em comunidades ao longo de dez meses de pandemia.

Mas aquilo não era o bastante para a mudança sustentável que gostariam de proporcionar às pessoas que conheceram. Paloma e um de seus amigos, o arquiteto Tiago Coelho, faziam juntos a entrega das cestas básicas e sempre discutiam o que poderiam fazer. Foi em setembro que tiveram a ideia da "Caçamba Solidária": um projeto que arrecada materiais de obra e mobiliário e doa para comunidades em situação de vulnerabilidade, geralmente por meio de algum projeto social que já atue localmente.

Esquadrias, mármores, portas, vasos sanitários, e outros, que seriam descartados após serem retirados de reformas agora tem um destino certo: o galpão da Clean Ambiental, próximo ao Complexo da Maré, que cedeu parte de seu espaço para o projeto. Lá, Tiago fotografa os itens, entra em contato com lideranças de 26 comunidades informando o que têm de doações. Havendo interesse, a Caçamba agiliza a logística de entrega e busca dentre as pessoas da região a mão de obra qualificada para realizar a obra. "O nosso objetivo é beneficiar o maior número de pessoas, por isso a melhor forma que encontramos foi o contato com iniciativas locais, seja associação de moradores ou religiosas, que muitas vezes têm um espaço físico que precisa de melhorias e também conseguem identificar a necessidade de doações dos moradores. Mas não só entregamos os materiais, nós fazemos a obra de reparo ou instalação, contratando alguém da própria comunidade para realizar o trabalho", explica Tiago.

Caçamba - Divulgação - Divulgação
"Caçamba Solidária" arrecada materiais de obra e mobiliário
Imagem: Divulgação

A "Caçamba Solidária" contribui para que a economia circule em regiões vulnerabilizadas social e economicamente, evita o desperdício de materiais e o acúmulo de lixo, já que muita coisa teria lixões como destino. Dentre as regiões que contaram com ações da Caçamba estão a Favela do Aço, Morro da Providência, Gamboa, Barreira do Vasco, Rocinha, Complexo do Salgueiro, Cidade de Deus e Morro da Formiga.
"Aqui em Santa Cruz, temos o projeto 'Esperança para uma criança de Vila Paciência'. Construímos um espaço e já temos quatro salas, mas queremos outras três. Queremos que aqui aconteçam aulas de reforço escolar, de dança, e teremos um programa de alfabetização de adultos. A gente sabe da necessidade das crianças daqui, um bairro abandonado pelo poder público. Então juntamos esforços para melhorar de alguma forma a vida delas", diz o pastor Josias, líder do Projeto Esperança para Uma Criança, que fica na zona oeste da capital fluminense. Ele já recebeu mais de 100 m2 de piso de mármore, cinco portas, pias, cubas para banheiro e cozinha que foram usados na reforma e também distribuídos para a comunidade.

Sejam empresas de arquitetura ou pessoas físicas que queiram doar materiais para o projeto, é preciso preencher um formulário disponibilizado pelo link no perfil do Caçamba Solidária no Instagram. O arquiteto, que toca o projeto ao lado de Paloma, avalia se tudo está em bom estado e entra em contato para combinar a retirada.

Os amigos recebem uma doação mensal de um shopping de decoração carioca, que ajuda a arcar com as despesas de frete e o pagamento da mão de obra. "Uma das ideias que temos para 2021 é adquirir materiais de marcenaria. Porque, por exemplo, recebemos 30 m2 de material de um closet que está sendo reformado. Com esse espaço de marcenaria aqui no galpão, conseguiríamos construir mobiliário a ser usado nas melhorias que fazemos nas comunidades", diz Tiago.

Bom pra todo mundo