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

Professora cria projeto para garantir alimentação da família de seus alunos

A professora Sol Horti foi buscar nos produtores em crise a saída para a fome dos seus alunos - Divulgação
A professora Sol Horti foi buscar nos produtores em crise a saída para a fome dos seus alunos Imagem: Divulgação

Isaac Toledo

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

08/11/2021 06h00

Em abril de 2020, vários alunos da professora Sol Horti, que atua na rede estadual de ensino da cidade de São Paulo, avisaram que não poderiam continuar acompanhando as aulas porque não tinham condições de pagar um plano de internet. Com o agravamento da pandemia, o dinheiro que não chegava para a internet já não alcançava também para comprar comida.

Ao ler uma matéria no jornal Folha de S. Paulo, que noticiava a destruição de alimentos não vendidos por parte de produtores, pensando na situação de seus alunos, Sol decidiu tomar uma atitude para garantir a subsistência dos estudantes, de suas famílias e também de fornecedores que estavam em dificuldade.

"Encaminhei uma mensagem para meus contatos pedindo informações sobre pequenos produtores que estavam com dificuldade para vender seus alimentos. A mensagem rodou muito rápido e comecei a ter respostas. Em maio de 2020, a ONG Instituto Kairós aceitou istrar a parte financeira e contábil do projeto, dando segurança para o início das atividades," conta a professora.

Nascia então o projeto De Ponta a Ponta. Com recursos que vêm de doações, a ação compra alimentos de pequenos produtores e cooperativas que se encontram em situação delicada devido ao impacto econômico e social da pandemia. "Damos preferência a produtos orgânicos. Eles são mais fáceis de comprar e garantem diversidade de nutrientes. Mas quando não é possível, compramos o alimento disponível, pois o importante é garantir a entrega das cestas", conta a professora.

De ponta a ponta - Divulgação - Divulgação
Projeto firmou parceria com dois grupos de produtores para selecionar os fornecedores dos alimentos
Imagem: Divulgação

Ajuda de cooperativas

A fundadora do projeto afirma que "é difícil chegar no produtor rural". Por isso, uma alternativa foi firmar parcerias com dois grupos de produtores: Rede Agroecológica de Mulheres Agricultoras (RAMA) e a Cooperativa dos Agricultores Quilombolas do Vale do Ribeira (Cooperquivale).

"Cada produtor, cooperativa ou rede de produtores tem sua situação analisada conforme nossa demanda, com objetivo de garantir diversidade de alimentos. Atualmente, temos em torno de 160 produtores cadastrados no projeto, todos do estado de São Paulo. Na RAMA, são 50 mulheres agricultoras, enquanto na Cooperquivale são mais de 100 produtores quilombolas", destaca Sol.

Com apoio de um amigo que era diretor de uma escola pública, a professora pôde utilizar o espaço, que estava sem aulas, para armazenar e montar as cestas para as famílias dos estudantes, com a ajuda de voluntários. Então, atualmente, o De Ponta a Ponta funciona na Escola Estadual Professor José Monteiro Boanova, no bairro da Lapa, zona Oeste de São Paulo.

Em 2020, a ação conseguiu entregar, em média, 70 cestas por semana, totalizando 1.834. Mais de 4,6 mil pessoas foram beneficiadas. Este ano, as entregas ocorrem a cada quinze dias e, até o momento, 1.555 cestas foram entregues, beneficiando 6.220 pessoas.

Futuro

De ponta a ponta - Divulgação - Divulgação
Projeto utiliza a área de uma escola estadual de São Paulo para armazenar os produtos e montar as cestas
Imagem: Divulgação

Com a volta das aulas presenciais, a professora Sol Horti vê a necessidade de institucionalizar o projeto De Ponta a Ponta para garantir uma sede permanente para estocar os alimentos e montar as cestas.

"A escola pode até ser um ponto de montagem e distribuição, porém, precisaremos de um local adequado para armazenar os alimentos recebidos. Outro ponto importante é ter uma equipe especializada em captação de recursos para garantir a sustentabilidade e crescimento do projeto."

Para saber mais informações sobre o De Ponta a Ponta, entre no perfil do projeto no Instagram ou entre em contato pelo número (11) 98716-2915. Para doações, a chave PIX do projeto é [email protected].