store.js 1.54 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,
        name: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
       },
       setName(state,name){
           state.name = name
       }
    }, 
    //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)
        },
        setName({commit},name) {
            commit('setName',name)
        }

    }
  
})