store.js 1.14 KB
import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'

Vue.use(Vuex)

export default new Vuex.Store({
    strict:true,
    plugins:[
        createPersistedState() 
    ],
    state: {
        token: null,
        data: null,
        isUserLoggedIn: false,
        id: null,
    },
    // serve as the one and only way to change the state of the data in the state object
    mutations: {
        setToken (state, token) {
            state.token = token
            //state.isUserLoggedIn = !!(token)
        if (token != null) {
            state.isUserLoggedIn = true
           } else {
            state.isUserLoggedIn = false
        } 
        },
        setUser (state, data) {
            state.data = data
        },
        Id (state, id) {
              state.id = id
        },
    }, 
    //Action methods are referred to as being "dispatched"
    actions: {
        setToken ({commit}, token) {
            commit('setToken', token)
        },
        setUser ({commit}, data) {
            commit('setUser', data)
        },
        Id ({commit}, id) {
            commit('Id', id)
        }

    }
  
})