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

Ana Paula Xongani

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

A volta dos festivais é uma excelente oportunidade para ateliês de moda

A volta dos festivais - Getty Images/iStockphoto
A volta dos festivais Imagem: Getty Images/iStockphoto

Colunista do UOL

20/05/2022 04h00

Com o recuo do período mais tenso do isolamento social causado pela pandemia, tem uma coisa que estou, como muitas pessoas, interagindo de um outro lugar, com um olhar um pouco mais atento: os festivais. Me parece que estes encontros, a possibilidade de estar com tantas pessoas, às vezes cantando uníssonas as músicas que a gente gosta, depois de tanto tempo, causam uma catarse nova, diferente de antes.

Os festivais voltaram e tivemos aí o Lollapalooza, o Rock the Mountain, o Nômade, o Mita, já já vem o Rock in Rio, muitos festivais. Tenho estado neles e conhecido uma galera "assídua" dos festivais. E uma coisa é bastante notável: temos uma moda para os festivais.

Não sei se poderíamos entender isso como algo protocolar, um vestuário dos festivais, afinal não é uma "obrigação", um "dress code". Mas, sinto como se fosse um acordo tácito entre o participante do festival e o festival, uma moda que circula nesse ambiente, especificamente.

Um exemplo disso é o enorme crescimento de conteúdos sobre "como se vestir para o Lollapalooza". As criadoras investiram tempo, roupas, combinações, em como se vestir para os três dias de festival, várias ideias de looks e tudo mais. Geral investindo numa parte do guarda-roupa dedicada a estes encontros. Um exemplo de como um movimento cultural e artístico impacta diretamente na forma de vestir, de consumir moda, de consumir informação de moda. Já quando a gente observa os palcos, as cantoras, as pessoas que estão ali, elas estão ando muitas mensagens nesse pós-pandemia

Sem dúvida, uma das mensagens mais importantes é em relação às eleições de 2022. Para além das bandeiras e faixas com mensagens, vemos na escolha de cores, de estampas e bordados em roupas e órios uma escolha, a expressão de uma escolha. Muitas cantoras, como por exemplo a Majur no Festival Nômade, vestindo vermelho. Não, não é coincidência. É posicionamento político.

Outro movimento é o das marcas, sobretudo as marcas de médio, pequeno porte, aquelas que criam coleções menores, peças únicas. A personalização, a identidade que se reflete através da moda é ponto alto na busca pelo look ideal dos grandes eventos e isso é ótimo para elas. Então, elas tiveram que se adaptar, pensar em criação e produção para esta demanda - e oportunidade, afinal são milhares de pessoas em busca de algo único. É muita gente comprando!

O Ateliê Xongani é uma dessas marcas. Na última coleção que lançamos, chamada Índigo Blue, nos preparamos para fazer capas de chuva dobráveis pensando nos festivais que terão no Brasil. Modéstia à parte, ficou mara.

Para você que trabalha com moda e ainda não foi a nenhum festival e pretende ir, para você que quer observar os festivais e como as pessoas se vestem com um olhar criativo e de negócio, tem algumas dicas básicas do que é interessante ser notado para, eventualmente, criar novidades, inovações, soluções:

1. Sapatos confortáveis, tênis, botas. A gente anda muito em festivais e eles quase sempre acontecem em lugares com grama, terra, areia. Proteção e conforto precisam se unir ao design;

2. Roupas leves, quando calor; mas que te protejam das mudanças de temperatura, porque a gente a horas nestes eventos. Às vezes, quando a gente chega tá um dia super aberto, ensolarado, vai ando e muda. Fecha, chove, esfria. Roupas adaptáveis para essa modulação são importantes. Roupas que se adaptem, se transformem;

3. Algo para proteger a cabeça, seja do frio ou do sol. Chapéu, boinas, toucas, bandanas;

ório Ateliê Xongani - Ateliê Xongani/Divulgação - Ateliê Xongani/Divulgação
ório Ateliê Xongani
Imagem: Ateliê Xongani/Divulgação

4. Camisetas, jaquetas, blusões e órios de cantores e bandas. Dá para ser bem criativa aqui. Aquele silk tradicional pode resolver muita coisa, mas dá para ir muito além;

5. Bolsas próximas ao corpo, que preferencialmente sejam estruturadas de forma a ficar posicionadas na frente do corpo

É aquilo que eu costumo dizer. Se você é uma pessoa que se veste, a moda te atravessa. E, nestes festivais, é muita gente circulando. Para quem trabalha com moda é uma oportunidade enorme. Bora aproveitar!