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

Miriti: árvore nativa da Amazônia dá origem a esculturas e brinquedos

Madeira de miriti dá vida para obras rica em detalhes e cores - Arquivo Pessoal
Madeira de miriti dá vida para obras rica em detalhes e cores Imagem: Arquivo Pessoal

Carol Scolforo

Colaboração para Nossa

08/06/2021 04h00

Miriti da Amazônia

Miriti da Amazônia

Quem é

Josias Plácido, ou Perias, como é conhecido, é o artesão empreendedor à frente da Miriti da Amazônia

A riqueza de cores e cantos dos pássaros brasileiros, barcos de rio ou o amor entre as pessoas: tudo isso se transforma em arte popular, nas mãos de seu Josias Plácido, o Perias, como é conhecido o artesão empreendedor à frente da Miriti da Amazônia.

Usando madeira de miriti, uma árvore típica da Amazônia, ele aprendeu a criar brinquedos ainda criança, aos 13 anos. Nessa época ele vendia os primeiros barcos de madeira na feira de artesanato do Círio de Nazaré, festa religiosa típica de Belém, capital do Pará.

Miriti da Amazônia oferece curso de capacitação para famílias - Arquivo Pessoal - Arquivo Pessoal
Miriti da Amazônia oferece curso de capacitação para famílias
Imagem: Arquivo Pessoal

Ao longo dos anos, Perias sentiu vontade de aumentar a produção. Quando se deu conta de que sozinho não iria longe, ou a oferecer cursos de capacitação para outras famílias — atualmente, seis delas são suas parceiras no negócio.

Da soma de esforços, cerca de 2 mil peças por mês ganham asas para morar no Brasil, onde podem ser encontradas na Associação Coletivo de Fato, e em países como a Alemanha e França — Perias tem olhos para o mundo todo.

Escultura de miriti - Arquivo Pessoal - Arquivo Pessoal
Escultura de miriti
Imagem: Arquivo Pessoal
Casal LGBTQI+ é retratado na obra - Arquivo Pessoal - Arquivo Pessoal
Casal LGBTQI+ é retratado na obra
Imagem: Arquivo Pessoal

Matéria-prima: miriti

Pássaros brasileiros feitos a partir do uso de madeira de miriti - Arquivo Pessoal - Arquivo Pessoal
Pássaros brasileiros feitos a partir do uso de madeira de miriti
Imagem: Arquivo Pessoal

A palmeira nativa das áreas alagadiças do Norte do Brasil dá base a criações artesanais e até a alimentos — mas é nos brinquedos que preenchem e colorem as ruas de Belém, PA, que o miriti, uma madeira leve, ganhou fama.

Peças como o pássaro da Amazônia tornaram-se campeões de venda, ao lado de esculturas que retratam o cotidiano do Pará. Com cores vivas, representam bem a alegria do Brasil, não?