aboutsummaryrefslogtreecommitdiff
path: root/src/modules/interface.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/interface.js')
-rw-r--r--src/modules/interface.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/modules/interface.js b/src/modules/interface.js
new file mode 100644
index 00000000..07489685
--- /dev/null
+++ b/src/modules/interface.js
@@ -0,0 +1,36 @@
+import { set, delete as del } from 'vue'
+
+const defaultState = {
+ settings: {
+ currentSaveStateNotice: null,
+ noticeClearTimeout: null
+ }
+}
+
+const interfaceMod = {
+ state: defaultState,
+ mutations: {
+ settingsSaved (state, { success, error }) {
+ if (success) {
+ if (state.noticeClearTimeout) {
+ clearTimeout(state.noticeClearTimeout)
+ }
+ set(state.settings, 'currentSaveStateNotice', { error: false, data: success })
+ set(state.settings, 'noticeClearTimeout',
+ setTimeout(() => del(state.settings, 'currentSaveStateNotice'), 2000))
+ } else {
+ set(state.settings, 'currentSaveStateNotice', { error: true, errorData: error })
+ }
+ }
+ },
+ actions: {
+ setPageTitle ({ rootState }, option = '') {
+ document.title = `${option} ${rootState.instance.name}`
+ },
+ settingsSaved ({ commit, dispatch }, { success, error }) {
+ commit('settingsSaved', { success, error })
+ }
+ }
+}
+
+export default interfaceMod