|
|
|
|
import {createStore} from 'vuex'
|
|
|
|
|
import moment from "moment";
|
|
|
|
|
import getSeason from "@/tools/getSeason";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default createStore({
|
|
|
|
|
state: {
|
|
|
|
|
player: null,
|
|
|
|
|
unlocked: {
|
|
|
|
|
fields: 48
|
|
|
|
|
},
|
|
|
|
|
time: {
|
|
|
|
|
stamp: null,
|
|
|
|
|
week: null,
|
|
|
|
|
season: null,
|
|
|
|
|
weekday: null,
|
|
|
|
|
weekdayNr: null
|
|
|
|
|
},
|
|
|
|
|
inventory: [],
|
|
|
|
|
cropField: [],
|
|
|
|
|
selections: {
|
|
|
|
|
field: null,
|
|
|
|
|
item: null
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getters: {},
|
|
|
|
|
mutations: {
|
|
|
|
|
initialize(state) {
|
|
|
|
|
state.time.week = moment().week();
|
|
|
|
|
state.time.season = getSeason(state.time.week);
|
|
|
|
|
state.time.weekday = moment().weekday();
|
|
|
|
|
state.time.weekdayNr = moment().format('dddd');
|
|
|
|
|
|
|
|
|
|
this.commit('generateField');
|
|
|
|
|
},
|
|
|
|
|
updateTimestamp(state) {
|
|
|
|
|
state.time.stamp = moment().format('H:mm:ss')
|
|
|
|
|
},
|
|
|
|
|
generateField(state) {
|
|
|
|
|
let fieldIndex = 0;
|
|
|
|
|
|
|
|
|
|
while(state.cropField.length < state.unlocked.fields) {
|
|
|
|
|
fieldIndex++;
|
|
|
|
|
|
|
|
|
|
state.cropField.push({
|
|
|
|
|
id: fieldIndex
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
selectField(state, id) {
|
|
|
|
|
state.selections.field = id;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
actions: {},
|
|
|
|
|
modules: {}
|
|
|
|
|
});
|