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

Essa roupa tem história: "Brechós são ideais para encontrar peças únicas"

A influenciadora digital Vitoria Fiore usando a jaqueta Moschino - Arquivo Pessoal
A influenciadora digital Vitoria Fiore usando a jaqueta Moschino Imagem: Arquivo Pessoal

Maria Carolina Gimenez

Colaboração para Nossa

04/05/2020 04h00

Vitoria Fiore

Vitoria Fiore

Profissão

Influenciadora digital

Minha roupa com história

Uma jaqueta Moschino, da coleção de outono/inverno 1992/93, em perfeito estado, que comprei em um brechó

Durante boa parte da minha vida, eu achava que brechós era apenas lugar de roupa velha. Um lugar sem estilo, com peças que não estavam por dentro da "moda" e, como consequência, não eram parte das últimas tendências atuais. Ainda bem que esse meu pensamento mudou!

Quanto me mudei para Nova York para estudar moda, ter "estilo" era quase um pré-requisito para pisar dentro do prédio. E com "estilo" eu não quero dizer estar por dentro das últimas tendências do Instagram, falo sobre traduzir a sua personalidade, fazer-se entender somente pelas suas roupas. Me senti muito mais livre para começar minha saga em busca do guarda-roupa que mais me identificava.

Do lado da faculdade, tinham dois brechós. Sempre curiosa, comecei a reparar que entrar lá era um programa dos alunos depois das aulas. E foi em um desses momentos entre aulas que encontrei minha primeira peça vintage de uma marca high end. Uma jaqueta Moschino, da coleção de outono/inverno 1992/93, em perfeito estado, por US$ 65.

Primeiro me perguntei porque alguém abriria mão de uma peça tão única. Havia ganhado de herança? Depois, comecei a me perguntar quem seria esse alguém? Onde ela morava; em quais lugares e eventos teria usado a jaqueta? Me perdi completamente nos meus pensamentos na fila do caixa.

Comprei e, no dia seguinte, já usei. Além do prazer de responder "é vintage" para quem me perguntava onde havia comprado, aprendi que, com as roupas de brechós, a chance de outra pessoa ter uma peça igual é muito pequena (síndrome de aquariana que quer ser única). Eu não tinha comigo apenas uma jaqueta, eu tinha uma história. E estava prestes a escrever outra

Como eu uso

Destaque look sóbrio

Por cima de looks com cores mais sóbrias, como preto, cinza e branco, por ter cores mais claras e vibrantes que se destacam.

Estampas conversando

Uma blusa por baixo com a estampa semelhante aos traços em preto da jaqueta. Dessa forma, elas conversam entre si no visual.