Started to build out the app. Its got a basic set of features and it should really be in VC
This commit is contained in:
47
client/src/stores/mainStore.js
Normal file
47
client/src/stores/mainStore.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import axios from 'axios'
|
||||
|
||||
Vue.use(Vuex);
|
||||
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
count: 0,
|
||||
message: 'Get out me yard ya wankers',
|
||||
token: null
|
||||
},
|
||||
mutations: {
|
||||
increment (state) {
|
||||
state.count++
|
||||
},
|
||||
setLoginToken(state, token){
|
||||
|
||||
localStorage.removeItem('loginToken') //We only want one login token per computer
|
||||
localStorage.setItem('loginToken', token)
|
||||
|
||||
//Set default token to axios, every request will have header
|
||||
axios.defaults.headers.common['Authorization'] = token
|
||||
|
||||
state.token = token
|
||||
},
|
||||
destroyLoginToken(state){
|
||||
|
||||
//Remove login token from local storage and from headers
|
||||
localStorage.removeItem('loginToken')
|
||||
delete axios.defaults.headers.common['Authorization']
|
||||
state.token = null
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
getRudeMessage: state => {
|
||||
return state.message
|
||||
},
|
||||
getLoginToken: state => {
|
||||
return state.token
|
||||
},
|
||||
getLoggedIn: state => {
|
||||
let weIn = (state.token !== null && state.token.length > 0)
|
||||
return weIn
|
||||
}
|
||||
}
|
||||
})
|
Reference in New Issue
Block a user