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

Adega dentro de casa: como criar um cantinho decorado para seus vinhos

Adega criada pelo estúdio Dantas & os Arquitetura - Divulgação
Adega criada pelo estúdio Dantas & os Arquitetura Imagem: Divulgação

De Nossa

07/05/2021 09h50

Em uma casa de anfitrião, pensada para receber bem, dedicar um cantinho para deixar as bebidas sempre à mão é essencial. Seja através de uma adega, seja ao criar um espaço para bar, essa é uma forma de estar sempre pronto para receber as visitas e, ainda, garantir um toque de personalidade no décor.

"A escolha por uma adega ou simplesmente um cantinho do bar vai de acordo com as preferências de quem mora. Um enófilo com uma coleção mais extensa de rótulos, por exemplo, vai optar por uma adega, tendo em seu projeto todos os requisitos necessários para a manutenção de seus vinhos", indica Ieda Korman, arquiteta a frente do Korman Arquitetos, para Nossa.

Projeto de adega feito por Ieda e Carina Korman, do Korman Arquitetos - Gui Morelli - Gui Morelli
Projeto de adega feito por Ieda e Carina Korman, do Korman Arquitetos
Imagem: Gui Morelli

Agora, para aqueles que gostam de reunir amigos ou que olham para a casa como um local de ponto de encontro, o bar pode ser uma solução simplificada.

Mais do que a paixão por vinhos, ter uma adega em casa necessita de alguns cuidados, mas é a solução perfeita para armazenar e manter os rótulos em estado e temperaturas ideais para cada um.

"A escolha por uma adega projetada requer espaço e tecnologia própria, ou então o investimento em um subsolo, que tenha a temperatura e materiais corretos para receber os vinhos sem danificá-los", aponta Ieda Korman.

Tijolos e madeiras são materiais indicados para sua criação, pois preservam as características ideais do vinho até o momento da degustação. "A iluminação do local também deve ser levada em conta, uma vez que as bebidas não devem ficar expostas a muita luz. Prefira iluminação embutida e indireta", afirma.

Projeto de adega feito por Ieda e Carina Korman, do Korman Arquitetos - Gui Morelli - Gui Morelli
Projeto de adega feito por Ieda e Carina Korman, do Korman Arquitetos
Imagem: Gui Morelli

Por se tratar de um projeto personalizado e que demanda bastante espaço, esse tipo de adega costuma ser um grande investimento. Portanto, uma solução para projetos menores é apostar em adegas e caves industriais, elétricas.

"Existem diversos modelos no mercado, com tamanhos variados, para todo tipo de amante de bebidas", diz a profissional do Korman Arquitetos.

Como ela possui refrigeração própria, pede por menos cuidados e pode ser disposta em diversos ambientes da casa. "Uma dica é deixá-la próxima de um móvel que contenha os itens essenciais para um bar, como taças, saca-rolhas e outros", indica Ieda Korman.