const user = JSON.parse(localStorage.getItem('user')); const initialState = user ? { status: { loggedIn: true }, user } : { status: { loggedIn: false }, user: null }; export const auth = { namespaced: true, state: initialState, actions: { login({ commit }, user) { return this._vm.$matrix.login(user).then( user => { commit('loginSuccess', user); return Promise.resolve(user); }, error => { commit('loginFailure'); return Promise.reject(error); } ); }, logout({ commit }) { this._vm.$matrix.logout(); commit('logout'); }, }, mutations: { loginSuccess(state, user) { state.status.loggedIn = true; state.user = user; }, loginFailure(state) { state.status.loggedIn = false; state.user = null; }, logout(state) { state.status.loggedIn = false; state.user = null; }, registerSuccess(state) { state.status.loggedIn = false; }, registerFailure(state) { state.status.loggedIn = false; } } };