37 lines
897 B
JavaScript
37 lines
897 B
JavaScript
|
/* eslint-disable no-console */
|
||
|
// ~/plugins/localStorage.js
|
||
|
import createPersistedState from 'vuex-persistedstate'
|
||
|
|
||
|
import { isStorageAvailable } from '@/utils'
|
||
|
|
||
|
const { OLD_STORE_NAME, STORE_NAME = 'tornadoClassicV2' } = process.env
|
||
|
|
||
|
function migrate() {
|
||
|
if (isStorageAvailable('localStorage') && OLD_STORE_NAME !== STORE_NAME) {
|
||
|
const oldStore = localStorage[OLD_STORE_NAME]
|
||
|
if (oldStore) {
|
||
|
localStorage.setItem(STORE_NAME, oldStore)
|
||
|
localStorage.removeItem(OLD_STORE_NAME)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default ({ store, isHMR }) => {
|
||
|
if (isHMR) {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
const paths = ['metamask.netId', 'application.selectedStatistic', 'application.selectedInstance']
|
||
|
|
||
|
if (!store.$isLoadedFromIPFS()) {
|
||
|
paths.push('txHashKeeper', 'settings', 'account', 'relayer.jobs', 'encryptedNote.ui')
|
||
|
}
|
||
|
|
||
|
migrate()
|
||
|
|
||
|
createPersistedState({
|
||
|
key: STORE_NAME,
|
||
|
paths
|
||
|
})(store)
|
||
|
}
|