import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import dict from './modules/dict'
import user from './modules/user'
import tagsView from './modules/tagsView'
import permission from './modules/permission'
import settings from './modules/settings'
import featuredAreas from './modules/featuredAreas'
import rate from './modules/rate'
import getters from './getters'
import CreatePersistedstate from 'vuex-persistedstate'

Vue.use(Vuex)

const store = new Vuex.Store({
  modules: {
    app,
    dict,
    user,
    tagsView,
    permission,
    rate,
    settings,
    featuredAreas
  },
  getters,
  plugins: [
    CreatePersistedstate({
      storage: window.localStorage,
      paths: ['settings']
    })
  ]
})

export default store
