diff --git a/web/src/store/getters.js b/web/src/store/getters.js new file mode 100644 index 0000000..fdcfac6 --- /dev/null +++ b/web/src/store/getters.js @@ -0,0 +1,5 @@ +export default { + isLoggedIn: state => { + return state.token !== null; + } +} \ No newline at end of file diff --git a/web/src/store/index.js b/web/src/store/index.js index 1d173c3..8b016e1 100644 --- a/web/src/store/index.js +++ b/web/src/store/index.js @@ -1,27 +1,14 @@ import Vue from 'vue' import Vuex from 'vuex' -import {setToken, getToken, clearToken} from '@/jwt' + +import state from './state' +import mutations from './mutations' +import getters from './getters' Vue.use(Vuex) export default new Vuex.Store({ - state: { - token: getToken() - }, - mutations: { - setToken: (state, {token}) => { - state.token = token - setToken(token) - }, - clearToken(state) { - state.token = null - clearToken() - } - }, - actions: {}, - getters: { - isLoggedIn(state) { - return state.token !== null; - } - } + state, + mutations, + getters }) diff --git a/web/src/store/mutations.js b/web/src/store/mutations.js new file mode 100644 index 0000000..0417b2a --- /dev/null +++ b/web/src/store/mutations.js @@ -0,0 +1,12 @@ +import {setToken, clearToken} from '@/jwt' + +export default { + setToken: (state, {token}) => { + state.token = token + setToken(token) + }, + clearToken: state => { + state.token = null + clearToken() + } +} \ No newline at end of file diff --git a/web/src/store/state.js b/web/src/store/state.js new file mode 100644 index 0000000..1c6fc13 --- /dev/null +++ b/web/src/store/state.js @@ -0,0 +1,5 @@ +import {getToken} from '@/jwt' + +export default { + token: getToken() +} \ No newline at end of file