1
0
mirror of https://github.com/kihashi/stardew_community_checklist.git synced 2025-10-19 08:03:17 +00:00

Add vuex store.

This commit is contained in:
John Cleaver 2018-03-03 17:32:52 -05:00
parent cc89b4d4fa
commit cb1fd8ede6
2 changed files with 30 additions and 0 deletions

View File

@ -3,6 +3,7 @@
import Vue from 'vue' import Vue from 'vue'
import App from './App' import App from './App'
import router from './router' import router from './router'
import store from './store'
require('./assets/sass/main.scss') require('./assets/sass/main.scss')
@ -12,6 +13,7 @@ Vue.config.productionTip = false
new Vue({ new Vue({
el: '#app', el: '#app',
router, router,
store,
components: { App }, components: { App },
template: '<App/>' template: '<App/>'
}) })

28
src/store/index.js Normal file
View File

@ -0,0 +1,28 @@
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
StoredItems: {}
},
getters: {
IsBundleItemRedeemed: (state) => (BundleItem) => {
return state.StoredItems[BundleItem.bundle.id].hasOwnProperty(BundleItem.item.id)
}
},
mutations: {
RedeemItem (state, BundleItem) {
state.StoredItems[BundleItem.bundle.id][BundleItem.item.id] = 1
},
UndoRedeemItem (state, BundleItem) {
delete state.StoredItems[BundleItem.bundle.id][BundleItem.item.id]
},
AddBundles (state, Bundles) {
for (let bundle of Bundles) {
state.StoredItems.set(bundle.id, {})
}
}
}
})