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

Sem modismos! 'Cara de casa' dita decoração de lar com memórias de família

Casinha 647 não se apega a estilos "de fora" e criou identidade própria - Arquivo pessoal
Casinha 647 não se apega a estilos "de fora" e criou identidade própria Imagem: Arquivo pessoal

Carol Scolforo

Colaboração para Nossa

03/08/2023 04h00

Nesta casa dos anos 1970, em São Paulo, o marido de Ana Baccelli, Renato, ou parte da infância. Eis que quando os dois se casaram, 20 anos atrás, ela se tornou um presente dos sogros para eles, se é que se pode resumir tanto tempo em duas frases.

Por envolver tanto afeto, a Casinha 647 é um sucesso nos cliques que Ana compartilha no perfil @casinha647, onde ela mostra cada cantinho que decorou. É um jeito de dar vazão à criativa arquiteta apaixonada por casa que fica de lado durante o dia, quando trabalha em um banco.

Por isso, aliás, a facilidade de renová-la é tão grande: foram duas boas reformas. A última, realizada dez anos atrás, foi a mais significativa.

"Abrimos mão da edícula para ganharmos um espaço amplo de jardim, com direito a ofurô, chuveirão e área gourmet com pergolado de madeira", conta orgulhosa.

Somar os anos de profissão às viagens pelo mundo rendeu o olhar maduro para construir e decorar os 100 m² construídos e aproveitar melhor os 120 m² de terreno. "Embora meu foco atual não seja residencial, é nessa parte que mora meu coração, na transformação de casas em lares."

A entrada da casa tem porta amarela e uma pequena janela - Arquivo pessoal - Arquivo pessoal
A entrada da casa tem porta amarela
Imagem: Arquivo pessoal
O jardim de inverno na entrada da casa - Arquivo pessoal - Arquivo pessoal
O jardim de inverno na entrada da casa
Imagem: Arquivo pessoal

A sala aumentou e agora abriga um hall de entrada com espaço de leitura, como nas casas europeias de filme. "É engraçado como meu sogro fica surpreso todas as vezes que vem aqui, sobre como a casa parece mais ampla, arejada e agradável", conta.

Meu estilo se resume em uma casa para ser vivida, usada. É nosso refúgio e nela temos que nos cercar no que nos faz felizes... Muito além de tendências ou modismos, casa tem que refletir a nossa alma"

Banheiro da casa tem plantas - Arquivo pessoal - Arquivo pessoal
Banheiro da casa tem plantas
Imagem: Arquivo pessoal
O quarto de Ana - Arquivo pessoal - Arquivo pessoal
O quarto de Ana
Imagem: Arquivo pessoal

Nada de modas

Avessa a fórmulas prontas ou pensadas por outras pessoas, Ana faz questão de manter a casa com "cara de casa": plantas, fotografias, lembranças de viagens espalhadas dão esse toque, assim como paredes coloridas, manta no sofá, marcas do tempo, brinquedos dos pets pelo chão, almofadas usadas.

A cozinha tem parede vermelha repleta de itens - Arquivo pessoal - Arquivo pessoal
A cozinha tem parede vermelha repleta de itens
Imagem: Arquivo pessoal

"Não sou apegada a estilos, a casa tem que nos fazer felizes", conta.

Por isso, você vê a vitrola herdada da avó, travessas que eram usadas quando ela era criança, penduradas na parede da cozinha e a poltrona Costela, que era um sonho e foi realizado.

"Adoro olhar para os cantinhos e me encontrar em cada um deles. Sou a turista que compra coisas sem se preocupar com onde colocar a peça em casa. Depois penso nisso", ri.

Dicas da Ana para ter uma casa com personalidade

  • Olhar atento. "Uma coisa importantíssima é treinar o olhar. Penso que muita gente já tem espaço em casa pronto para transformar em algo diferente, como fiz com a edícula aqui. Vale pensar se o espaço realmente tem função hoje na sua casa ou seria bacana ampliar o quintal e ter um jardim ao invés de mais uma salinha de guardar tralha?
  • Observe os objetos. "Outro ponto é treinar o olhar para o que já temos em casa. Por que não expor suas recordações preferidas pela sala, no lavabo ou até mesmo na cozinha? Fotos de viagem que tenham significado especial, em molduras semelhantes que preencham uma parede em branco...Às vezes pensamos que temos que comprar coisas, mas já as temos e apenas não valorizamos."
  • Paciência e dedicação. "Sou definitivamente contra uma casa que saiu pronta de uma loja de planejados e decorada por decoradores. Casa precisa de alma e memórias, que são construídas com o tempo"