import Vue from 'vue' import Vuex from 'vuex' import anchor from './modules/anchor' import editor from './modules/editor' import editorCodeblock from './modules/editor-codeblock' import editorFile from './modules/editor-file' import editorVideo from './modules/editor-video' import modalCreatePage from './modules/modal-create-page' import modalCreateUser from './modules/modal-create-user' import modalDeleteUser from './modules/modal-delete-user' import modalDeletePage from './modules/modal-delete-page' import modalDiscardPage from './modules/modal-discard-page' import modalMovePage from './modules/modal-move-page' import modalProfile2fa from './modules/modal-profile-2fa' import modalUpgradeSystem from './modules/modal-upgrade-system' import navigator from './modules/navigator' import pageLoader from './modules/page-loader' Vue.use(Vuex) export default new Vuex.Store({ state: { loading: false }, mutations: { loadingChange: (state, loadingState) => { state.loading = loadingState } }, actions: { alert({ dispatch }, opts) { dispatch('navigator/alert', opts) }, startLoading({ commit }) { commit('loadingChange', true) }, stopLoading({ commit }) { commit('loadingChange', false) } }, getters: {}, modules: { anchor, editor, editorCodeblock, editorFile, editorVideo, modalCreatePage, modalCreateUser, modalDeletePage, modalDeleteUser, modalDiscardPage, modalMovePage, modalProfile2fa, modalUpgradeSystem, navigator, pageLoader } })