;(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();
})();
Decoração barata: 10 ideias para mudar sua casa sem gastar muito
Plantas, adesivos e mais recursos ajudam a embelezar a casa sem gastar muito
Imagem: Unsplash
Claudia Dias
Colaboração para Nossa
14/04/2020 04h00
Não é preciso investir horrores para deixar a casa bonita. Com criatividade, é possível obter ótimos resultados em uma decoração econômica e, nem por isso, menos bonita ou funcional.
A seguir, listamos uma dezena de maneiras de decorar, sem afetar o bolso.
de pinus é opção econômica e criativa para dar nova cara à sua casa
Imagem: Luis Gomes de Souza
Nesta sala de TV, as arquitetas Luciana Uras e Evelyne Grande, do Studio Arquiteturas, escolheram o pinus como matéria-prima para o que recebe a TV, prateleiras, quadros e até o ar-condicionado. Esta é uma ótima sacada para quem quer reduzir os gastos.
Com custo bem inferior às demais opções maciças, a madeira clara só precisa de tratamento adequado para não apresentar indícios de apodrecimento e ataque de insetos. Quando combinado com móveis que adotam madeira de demolição, o pinus deixa qualquer ambiente fluido e aconchegante.
2. Plantas na decoração
Para montar uma casinha bem acolhedora, um recurso bem ível é adotar plantas em diferentes ambientes da casa. Manoela Machado, sócia do escritório Natureza Urbana, explica que elas são ótimas para preencher espaços vazios, em prateleiras, diretamente no piso ou penduradas no teto. "Jiboia, peperômia e filodendro são boas pedidas", recomenda.
Mais em conta que os papéis de parede, os adesivos são opção para renovar as paredes
Imagem: Fernanda Belotto
Se você sonha com papel de parede, mas não está disposto a arcar com o custo elevado, pode recorrer a adesivos. Foi o que fez a arquiteta Fernanda Belotto para baratear a renovação do quarto infantil.
"Tem uma grande vantagem decorativa: você pode comprar adesivos já com um padrão definido ou imprimir nele a imagem que escolher, qualquer uma. Além disso, a instalação não faz tanta sujeira como a pintura e é muito rápida, comparada com o papel de parede", diz Fernanda.
Neste projeto para um minifã de dinossauros, a ideia foi criar um ambiente em que ele se sentisse parte da história, por isso adesivos na altura de meia-parede.
4. Estêncil para estampar
Também para decorar paredes, sem ter de desembolsar mais do que se pode, outra alternativa é usar estêncil. "A dica é fazer um molde em acetato ou papelão, como se fosse uma máscara, com o desenho desejado, e pintar o interior", sugere Manoela Machado. Podem ser estrelas, desenhos geométricos, círculos e o que mais a imaginação criar.
5. Molduras de gesso
A grana não dá para uma galeria de quadros? Experimente molduras de gesso
Imagem: Alexandre Zelinski
Quadros custam caro? Um recurso barato e fofo é pintar molduras de gesso - dessas encontradas em lojas populares, com custo bem baixo - na tonalidade da parede. A dica é de Amanda Tiedt e da Fabíola Cordeiro, sócias da Arquiteca Projetos Afetivos. Trata-se de um efeito simples, mas interessante, pois cria movimento e brinca com relevos.
Segundo as especialistas, além do baixo custo, a decoração está alinhada com a tendência do "bloco de cor", em que móveis ou objetos decorativos seguem exatamente o mesmo tom da divisória.
6. Boiserie na cabeceira
Boiserie na cabeceira é uma ideia para substituir as cabeceiras
Imagem: Renato NavarroSe o orçamento da cabeceira da cama foi alto, é possível fazer a própria estrutura de um jeito supercharmoso.
Aqui, a designer de interiores Tássia Pereira, do escritório TT Interiores, adotou um boiserie de madeira, artifício versátil, que combina tanto com ambientes clássicos quanto despojados.
Gesso e EVA também podem ser usados na montagem, com a vantagem de serem ainda mais baratos. "Deixa o visual incrível, gastando bem pouco", comenta a expert.
7. Quadros de tecido
Ainda para decorar as paredes, é possível improvisar e enfeitá-las com tecidos fazendo as vezes de quadros. A sugestão de Manoela, do Natureza Urbana, é escolher um tipo mais espesso e emoldurar. Para baratear ainda mais, pode trocar a moldura por pedaços de cabo de vassoura ou bambu, muito bem escondidinhos nas partes superiores e inferiores, como se fosse um banner.
8. Móveis multifunções
Móveis multifuncionais ajudam a deixar as mudanças na casa ainda mais econômicas
Imagem: Rafael Roncato/UOL
Móveis feitos exclusivamente para um imóvel permitem um melhor aproveitamento da área. Como exemplo, neste apartamento de 45 m², projetado pela arquiteta Isadora Araujo, do Panapaná Estúdio de Projetos, os móveis foram adaptados para caberem nos espaços reduzidos.
A bancada de madeira, por exemplo, marca a divisão entre cozinha e sala de estar e tem mais de uma utilidade, servindo como mesa e estante, na mesma configuração.
9. Parede com fotos
Manoela Machado dá mais uma dica: revestir uma parede com cortiça, de 4 a 10 milímetros, em placas ou rolo - há, inclusive, versão autoadesiva para quem prefere não usar cola de contato. "Depois, é só preencher com fotos, recados, receitas e o que mais quiser", sugere.
Subir paredes? Nem pensar. Economize com divisórias vazadas e cheias de charme
Imagem: Fernanda Belotto10. Divisória vazada
Na separação de ambientes, alternativa em conta e funcional é adotar divisória vazada de madeira, como fez a arquiteta Fernanda Belotto, com esta estrutura de MDF revestido em lâmina de madeira natural freijó.
Ao mesmo tempo que separa, garante privacidade para cada espaço. Se houver uma janela por perto, a estrutura semiaberta permite que a luz natural alcance todo o segundo cômodo. É possível criar nichos para objetos decorativos.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.