;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Fusca 1970 vira floricultura ambulante desta designer que largou a carreira

Lucas Laranjeira

Colaboração para o UOL, em Curitiba (PR)

12/08/2016 06h00

Designer de produto por formação, a curitibana Cristiana Prante, 29, não estava satisfeita com a carreira e resolveu mudar de vida. Seu intuito sempre foi ter algo próprio, diz. Para isso, usou o Fusca 1970 que é o xodó da família.

Em uma viagem que fez para Buenos Aires, notou que as flores fazem parte do cotidiano dos argentinos. Além do pão e do jornal, ela reparou que existia o costume de comprar flores diariamente. "Eu vi que eles têm floricultura de rua em todos lugares. Não precisa ter data comemorativa para ter flor na sua vida", conta.

Vendo que os food trucks estavam em alta, pensou em aliar a vontade de ter uma floricultura não convencional com o Fusca.

Antes de abrir o próprio negócio, ela fez um curso de arte floral em Holambra (SP), a 134 km da capital paulista, conhecida como a Cidade das Flores e uma das maiores regiões produtoras no Brasil. Tornou-se a "Florista Viajante", e seu carro é chamado de "Flower Fusca" (o Fusca das Flores, em inglês)

Fusca para eventos e entregas

Cristiana não pode vender as flores transitando pelas ruas como imaginou inicialmente, pois o alvará permite que venda no Fusca apenas em eventos privados. Por isso, ela montou também um ateliê fixo.

Grande parte das entregas de encomendas é feita no Fusca, que virou uma atração à parte. "O Fusca estava na revisão para participar de um evento, e no mesmo dia eu tinha uma entrega para uma senhora. Fui com outro carro e, quando cheguei lá, ela estava esperando com a máquina fotográfica na mão. Foi horrível", lamenta.

O automóvel vira o centro das atenções nos eventos em que participa. "Os homens querem saber do Fusca e as mulheres, das flores."

Além da singularidade do automóvel, a florista se apega aos detalhes. Cristiana pede para o cliente descrever quem é a pessoa que será presenteada. "Eu gosto de saber como a pessoa é, que tipo de filme gosta. No dia das mães, eu pedi que me contassem, pelo e-mail, como era a mãe", explica.

Na oficina

O fusca, que já é um quarentão, acaba deixando a florista na mão em algumas situações. "Ele é bem forte, mas problemas ocorrem com a bateria ou com o alternador", conta a florista.

Ela diz que já sabe os sinais quando vai surgir um problema na bateria e já empurrou o carro diversas vezes.

Segunda Cristiana, apenas o cinto de segurança e o estofamento não são originais.

Lego explica com fazer um Fusca de pecinhas

UOL Carros