diff --git a/src/store/index.js b/src/store/index.js index a44857a..a4f049f 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -3,16 +3,17 @@ import Vuex from 'vuex' import VuexPersist from 'vuex-persist' Vue.use(Vuex) - +const USER = `convene_${ window.location.hostname }_user` +const SETTINGS = `convene_${ window.location.hostname }_settings` // A Vuex plugin to persist the user object to either session or local storage, based on flag in the store state. // const persistUserPlugin = store => { var user; if (store.state.useLocalStorage) { - user = JSON.parse(window.localStorage.getItem('user')); + user = JSON.parse(window.localStorage.getItem(USER)); } else { - user = JSON.parse(window.sessionStorage.getItem('user')); + user = JSON.parse(window.sessionStorage.getItem(USER)); } const initialState = user ? { status: { loggedIn: true }, user } : { status: { loggedIn: false }, user: null }; store.state.auth = initialState; @@ -20,11 +21,11 @@ const persistUserPlugin = store => { store.subscribe((mutation, state) => { if (mutation.type == 'setUser' || mutation.type == 'setUseLocalStorage') { if (state.useLocalStorage) { - window.localStorage.setItem('user', JSON.stringify(state.auth.user)); - window.sessionStorage.removeItem('user'); + window.localStorage.setItem(USER, JSON.stringify(state.auth.user)); + window.sessionStorage.removeItem(USER); } else { - window.sessionStorage.setItem('user', JSON.stringify(state.auth.user)); - window.localStorage.removeItem('user'); + window.sessionStorage.setItem(USER, JSON.stringify(state.auth.user)); + window.localStorage.removeItem(USER); } } }) @@ -32,7 +33,7 @@ const persistUserPlugin = store => { const vuexPersistLocalStorage = new VuexPersist({ - key: 'settings', + key: SETTINGS, storage: localStorage, reducer: state => { if (state.useLocalStorage) { @@ -47,7 +48,7 @@ const vuexPersistLocalStorage = new VuexPersist({ }) const vuexPersistSessionStorage = new VuexPersist({ - key: 'settings', + key: SETTINGS, storage: sessionStorage, reducer: state => { if (!state.useLocalStorage) { @@ -61,7 +62,7 @@ const vuexPersistSessionStorage = new VuexPersist({ } }) -const defaultUseSessionStorage = (sessionStorage.getItem('user') != null); +const defaultUseSessionStorage = (sessionStorage.getItem(USER) != null); export default new Vuex.Store({ state: { language: null, currentRoomId: null, auth: null, tempuser: null, useLocalStorage: !defaultUseSessionStorage },