store.js 1.38 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,
        username: null,
        password: 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
        },
        User (state, username) {
              state.username = username
        },
        password (state, password) {
            state.password = password
       }
    }, 
    //Action methods are referred to as being "dispatched"
    actions: {
        setToken ({commit}, token) {
            commit('setToken', token)
        },
        setUser ({commit}, data) {
            commit('setUser', data)
        },
        User ({commit}, username) {
            commit('User', username)
        },
        password ({commit}, password) {
            commit('password', password)
        },

    }
  
})