diff options
Diffstat (limited to 'apps/settings/src/store/index.js')
-rw-r--r-- | apps/settings/src/store/index.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/apps/settings/src/store/index.js b/apps/settings/src/store/index.js new file mode 100644 index 00000000000..9ecda7e37ad --- /dev/null +++ b/apps/settings/src/store/index.js @@ -0,0 +1,43 @@ +/** + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { Store } from 'vuex' +import users from './users.js' +import apps from './apps.js' +import settings from './users-settings.js' +import oc from './oc.js' +import { showError } from '@nextcloud/dialogs' + +const debug = process.env.NODE_ENV !== 'production' + +const mutations = { + API_FAILURE(state, error) { + try { + const message = error.error.response.data.ocs.meta.message + showError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true }) + } catch (e) { + showError(t('settings', 'An error occurred during the request. Unable to proceed.')) + } + console.error(state, error) + }, +} + +let store = null + +export const useStore = () => { + if (store === null) { + store = new Store({ + modules: { + users, + apps, + settings, + oc, + }, + strict: debug, + mutations, + }) + } + return store +} |