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

Artesanato, balanço na varanda e pés de frutas dão a apê um jeitão de casa

Casa Maria Fernanda - Evelyn Muller
Casa Maria Fernanda
Imagem: Evelyn Muller

Carol Scolforo

Colaboração para Nossa

13/09/2020 04h00

Aromas, cores, objetos e histórias que compõem o lar podem revelar capítulos de nossa história. Liberdade seria o título deste lugar, para Maria Fernanda Paes de Barros.

Após uma separação ela voltou a este apartamento em São Paulo com a filha Rafaella e pela primeira vez pôde refletir sua personalidade ali. Em seu universo doméstico, que há algum tempo já se fundia ao seu trabalho, o artesanato brasileiro ganhou a cena.

Maria Fernanda Paes de Barros - Evelyn Muller - Evelyn Muller
Maria Fernanda Paes de Barros
Imagem: Evelyn Muller

Nos arredores, a coleção de banquinhos de Maria Fernanda quase fala. O do seu Fernando, da Ilha do Ferro, é dos mais preciosos, por ter dado o pontapé inicial ao colecionismo. Você quer história? Veja a do banquinho que veio do Vale do Jequitinhonha, pelas mãos de Dona Vitalina, a artesã mais velha da região.

"Conversando sobre tudo, perguntei a ela sobre essa peça, que achei linda. Ela queria me dar sem cobrar nada. Conversei com o filho dela e questionei o valor, porque me recusava a ganhar. Chegamos ao preço de duas cadeiras e levei o banco pra casa. Algum tempo depois, Dona Vitalina mandou o agradecimento por uma amiga. Ela havia adoecido e aquele dinheiro ajudou a pagar o tratamento. Eu me arrepiei ao saber disso", lembra, emocionada.

Casa aberta nas alturas

Maria Fernanda na varanda do apartamento - Evelyn Muller - Evelyn Muller
Maria Fernanda na varanda do apartamento
Imagem: Evelyn Muller

É um apartamento, sim. Mas a impressão que se tem é de estar em uma casa. Afinal, estão na varanda pezinhos de acerola e laranja kinkan, um balanço em meio a uma dúzia de outras plantas — paisagismo de Aline Victor. Os cinco cães — Cristal e Petúnia, Koda, Olivia e Xavier — vivem livres pelo living integrado à cozinha.

O visual de tons neutros, aliados ao branco, foi pensado por ela. Afinal, Fernanda é formada em istração, mas a vida a levou à decoração. Neste trabalho, seu olhar voltado ao artesanal, ao feito à mão, ganhava cada vez mais significado. Com o tempo, não deu mais para segurar e seu estúdio Yankatu aflorou.

Hoje ela viaja por todo o país em busca de artesanato que tenha raízes, origem, história. A partir daí, une técnicas e saberes com design e cria coleções poéticas, que revelam essa essência por um viés contemporâneo. "Sou uma apaixonada pelo país. Um dos propósitos com a Yankatu é mostrar o Brasil para os brasileiros."

Um objeto deve ter identidade e autenticidade. O artesão deve fazer a peça pra ele gostar primeiro, não com interesses puramente comerciais. É assim que ela ganha emoção."

Detalhes

De volta ao apartamento, estamos na cozinha, onde os puxadores são feitos com cerâmica do Vale do Jequitinhonha. Minúcias importantes, mas que jamais se aproximam de acumulação. "Casa tem que respirar. Não dá pra colocar muita coisa, senão não vemos nada", sentencia.

Já no quarto de Maria Fernanda, a mesa de cabeceira Jardim, de freijó maciço, leva crochê com flores, na técnica de Claudia de Muzambinho.

E por aí vão mais detalhes e histórias que quase não cabem mais ali. Por isso mesmo ela está se despedindo. A pandemia acelerou seu novo caminho: a de viver dias mais leves no interior de São Paulo com a filha Rafaella e os cães, em uma chácara. Um novo capítulo. Qual será o título?