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

Rainha do garimpo, Bruna Galliano "se mostra" em decoração irreverente

Bruna Galliano se considera uma "maximalista discreta" e dá dicas de uma decoração com a sua cara - Arquivo Pessoal
Bruna Galliano se considera uma "maximalista discreta" e dá dicas de uma decoração com a sua cara Imagem: Arquivo Pessoal

Carol Scolforo

Colaboração para Nossa

17/12/2020 04h00

O lar é uma segunda pele para Bruna Galliano. "Ele muda conforme eu mudo, é uma continuação de mim", conta, apaixonada pelo cenário que criou para viver com o filho Leon e a gata Boo, em Curitiba, Paraná. O apartamento de 100 m² foi sonhado por anos e nada mais doce que o momento de decorá-lo.

Felizmente ela mostra suas aventuras com o lugar no perfil @brugalliano, onde a gente entende o que ela diz na prática. "Eu adorno minha casa, que é para adornar a minha alma".

É uma decoração irreverente, em que o quadro do quarto "chuta o balde" mesmo, o armário parece dizer "mostro tudo sim, e daí?". Estamos falando de coragem.

Bruna não compra sem pensar. Antes faz os objetos earem pela casa, muda os móveis de lugar e afunda o pé (ou o dedo) no garimpo. Ou mexe nas tintas - veja seu ateliê, com listras coloridas na parede e concorde. Assim, seu lar se torna cada vez mais curioso, refletindo quem ela é.

Maximalista

No prédio que sua mãe morou com os avós dela, este apartamento foi encontrado em estado de caos. Mas não havia problema, afinal, era seu primeiro próprio. Depois de uma bela reforma, ganhou cores, paredes cheias, plantas e manualidades.

"Não acho que tenha um estilo definido, mas gosto de muitas informações ao mesmo tempo, então acredito que eu seja algum tipo de maximalista discreta", ri.

Meu apartamento está sempre em transição. Sempre tem algum canto em reforma e sempre tenho materiais novos espalhados, esperando sua vez de aparecer!"

Um canto por vez

Bruna Galliano e o filho, Leon - Arquivo Pessoal - Arquivo Pessoal
Bruna Galliano e o filho, Leon
Imagem: Arquivo Pessoal

Bruna mergulha em um espaço por vez, se desfaz de móveis e objetos e faz uma curadoria atenta para o que vai entrar.

"Gosto muito da penteadeira que eu mesma restaurei, gosto da marchetaria do armário do meu quarto, gosto da minha cama ter um dossel", e ela lista mais coisas com um gosto vintage afetivo.

Entre um dinossauro e outro de Leon, os garimpos e peças feitas por ela rendem uma decoração divertida, curiosa, autêntica e colorida - não por acaso, em simbiose total com a dona do pedaço.

Dicas da Bruna para decorar com personalidade gastando pouco

  • A cor certa. "Pesquise uma boa paleta de cores, invista em tintas. Nada muda mais o ambiente do que mudar as cores das paredes."
  • Pinte o teto. "Não tenha medo. A casa fica muito mais aconchegante e com muito mais personalidade."
  • Mude as coisas de lugar. "Pegue um dia livre e tire todos os objetos dos seus lugares e coloque em cima da mesa. Teste cada um deles de uma nova maneira, em um novo lugar. O styling da casa é um dos maiores truques pra não enjoar."
  • Calcule. "Defina quanto você quer ou pode gastar e siga esse budget. Lembre-se que você não está numa corrida e você não precisa decorar tudo de uma vez."
  • Coragem de mostrar quem você é. "Invista em objetos que sejam a sua cara. Observe os motivos de você gostar de algo. Às vezes a gente acaba comprando alguma coisa só porque 'todo mundo tem'. Não é porque o amiguinho tem que você também precisa ter."
  • Segredo de rainha do garimpo. "Eu sempre fico de olho em sites de usados e em contato com as pessoas que já comprei alguma peça, para saber se tem mais alguma coisa que me interesse naquele momento."
  • Pesquise e pesquise mais. "Sempre que encontro algo que eu goste em alguma loja grande online (que eu sei que não é o fabricante), jogo o nome do produto no Google, na aba shopping. Lá aparecem outros lugares que vendem o produto e descubro se o preço é justo. Já comprei uma luminária por R$ 500 a menos!"

@s que me inspiram

@lottlott

Michell é o estudioso de cores da Suvinil, já foi jornalista da Casa Vogue, é uma pessoa incrível e tudo o que ele coloca a mão vira ouro.

@anarequiao

Ana é diretora de arte e food stylist. Uma amiga querida de extremo bom gosto em tudo o que faz.