import api from '../../utils/api' const state = { all: [], loaded: false, singleEvent: null, } const getters = { allEvents: state => state.all, allEventsLoaded: state => state.loaded, } const actions = { getAllEvents({ commit }, sortType) { commit('CLEAR_EVENTS') commit('EVENTS_LOADED', false) return api.getByType('events', sortType, events => { commit('STORE_FETCHED_EVENTS', { events }) commit('EVENTS_LOADED', true) }) }, getSingleEvent({ commit }, id) { commit('CLEAR_SINGLE_EVENT') commit('EVENTS_LOADED', false) api.getSingleType('events', id, event => { commit('STORE_FETCHED_SINGLE_EVENT', event) commit('EVENTS_LOADED', true) }) }, } const mutations = { STORE_FETCHED_EVENTS(state, { events }) { state.all = events }, STORE_FETCHED_SINGLE_EVENT(state, event) { state.singleEvent = event }, CLEAR_EVENTS(state) { state.all = [] }, CLEAR_SINGLE_EVENT(state) { state.singleEvent = null }, EVENTS_LOADED(state, val) { state.loaded = val }, } export default { state, getters, actions, mutations }