46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import Vue from 'vue';
|
|
import Vuex from 'vuex';
|
|
import VuexPersistence from 'vuex-persist';
|
|
import authStore from '@/store/auth.store';
|
|
import globalStore from '@/store/global.store';
|
|
import areaStore from '@/store/area.store';
|
|
import statusStore from '@/store/status.store';
|
|
import nestStore from '@/store/nest.store';
|
|
|
|
Vue.use(Vuex);
|
|
// set up persistence storage plugin
|
|
const vuexPersistence = new VuexPersistence({
|
|
key: process.env.VUE_APP_TITLE,
|
|
storage: window.localStorage,
|
|
filter: (mutation) => ['auth/saveToken', 'global/saveArea'].includes(mutation.type)
|
|
});
|
|
|
|
export default new Vuex.Store({
|
|
state: {},
|
|
mutations: {},
|
|
actions: {},
|
|
modules: {
|
|
auth: {
|
|
namespaced: true,
|
|
...authStore
|
|
},
|
|
global: {
|
|
namespaced: true,
|
|
...globalStore
|
|
},
|
|
area: {
|
|
namespaced: true,
|
|
...areaStore
|
|
},
|
|
status: {
|
|
namespaced: true,
|
|
...statusStore
|
|
},
|
|
nest: {
|
|
namespaced: true,
|
|
...nestStore
|
|
}
|
|
},
|
|
plugins: [vuexPersistence.plugin]
|
|
});
|