import Vue from "vue"; import Vuex from "vuex"; Vue.use(Vuex); export default new Vuex.Store({ state: { inventory: [ { id: 1, name: "Beach Box", quantity: 0, cents: 1100, imgPath: "/beach_box.jpg", description: "This is a beach box.", featured: false, category: { name: "Stained Glass", subcategory: { name: "Gardeny" } } }, { id: 2, name: "Wind Chime", quantity: 0, cents: 4500, imgPath: "/wind-chime.jpg", description: "Makes noise when the wind blows.", featured: false, categories: ["Fused Glass", ["Beachy"]] }, { id: 3, name: "Beach Box", quantity: 5, cents: 1100, imgPath: "/beach_box.jpg", description: "This is a beach box.", featured: false, categories: ["Stained Glass", ["Christmas"]] }, { id: 4, name: "Wind Chime", quantity: 2, cents: 4500, imgPath: "/wind-chime.jpg", description: "Makes noise when the wind blows.", featured: false, categories: ["Fused Glass", ["Kiln-y"]] }, { id: 5, name: "Beach Box (New!)", quantity: 5, cents: 1100, imgPath: "/beach_box.jpg", description: "This is a beach box.", featured: true, categories: ["Stained Glass", ["Christmas"]] } ], term: "" }, getters: { inventory(state) { const term = state.term.toLowerCase(); return state.inventory.filter(item => { // TODO: move into class for items return ( item.name.toLowerCase().indexOf(term) != -1 || item.description.toLowerCase().indexOf(term) != -1 ); }); } }, mutations: { filterTerm(state, term) { state.term = term; } }, actions: {}, modules: {} });