aboutsummaryrefslogtreecommitdiff
path: root/src/modules/interface.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2018-09-09 19:36:13 +0300
committerHenry Jameson <me@hjkos.com>2018-09-17 17:51:39 +0300
commit2db991fc7fb1eda11b94d585d3b56f9d94c81286 (patch)
tree64a2230035a31a3d4178cda4a9da01e4423f579d /src/modules/interface.js
parentf1c16327b696666f291d5fb2afdf4033cf9ef76d (diff)
some recategorization of options...
Diffstat (limited to 'src/modules/interface.js')
-rw-r--r--src/modules/interface.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/modules/interface.js b/src/modules/interface.js
new file mode 100644
index 00000000..0067ee64
--- /dev/null
+++ b/src/modules/interface.js
@@ -0,0 +1,53 @@
+import { set, delete as del } from 'vue'
+
+const defaultState = {
+ name: 'Pleroma FE',
+ registrationOpen: true,
+ textlimit: 5000,
+ server: 'http://localhost:4040/',
+ settings: {
+ currentSaveStateNotice: null,
+ noticeClearTimeout: null
+ }
+}
+
+const interfaceMod = {
+ state: defaultState,
+ mutations: {
+ setInstanceOption (state, { name, value }) {
+ console.log(state)
+ console.log(name)
+ set(state, name, value)
+ },
+ 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 ({state}, option = '') {
+ document.title = `${option} ${state.name}`
+ },
+ settingsSaved ({ commit, dispatch }, { success, error }) {
+ commit('settingsSaved', { success, error })
+ },
+ setInstanceOption ({ commit, dispatch }, { name, value }) {
+ commit('setInstanceOption', {name, value})
+ switch (name) {
+ case 'name':
+ dispatch('setPageTitle')
+ break
+ }
+ }
+ }
+}
+
+export default interfaceMod