From f1c16327b696666f291d5fb2afdf4033cf9ef76d Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Fri, 7 Sep 2018 18:17:17 +0300 Subject: Initial version --- src/modules/config.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/modules/config.js') diff --git a/src/modules/config.js b/src/modules/config.js index 60a34bc1..cb59acaa 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -26,7 +26,11 @@ const defaultState = { }, muteWords: [], highlight: {}, - interfaceLanguage: browserLocale + interfaceLanguage: browserLocale, + _internal: { + currentSaveStateNotice: {}, + noticeClearTimeout: null + } } const config = { @@ -42,6 +46,18 @@ const config = { } else { del(state.highlight, user) } + }, + settingsSaved (state, { success, error }) { + if (success) { + if (state.noticeClearTimeout) { + clearTimeout(state.noticeClearTimeout) + } + set(state._internal, 'currentSaveStateNotice', { error: false, data: success }) + set(state._internal, 'noticeClearTimeout', + setTimeout(() => del(state._internal, 'currentSaveStateNotice'), 2000)) + } else { + set(state._internal, 'currentSaveStateNotice', { error: true, errorData: error }) + } } }, actions: { @@ -51,6 +67,9 @@ const config = { setHighlight ({ commit, dispatch }, { user, color, type }) { commit('setHighlight', {user, color, type}) }, + settingsSaved ({ commit, dispatch }, { success, error }) { + commit('settingsSaved', { success, error }) + }, setOption ({ commit, dispatch }, { name, value }) { commit('setOption', {name, value}) switch (name) { -- cgit v1.2.3-70-g09d2 From 2db991fc7fb1eda11b94d585d3b56f9d94c81286 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 9 Sep 2018 19:36:13 +0300 Subject: some recategorization of options... --- src/App.js | 6 ++-- src/components/login_form/login_form.js | 2 +- src/components/registration/registration.js | 4 +-- src/components/settings/settings.js | 3 +- src/components/settings/settings.vue | 16 +++++---- src/main.js | 13 ++++--- src/modules/config.js | 28 +-------------- src/modules/interface.js | 53 +++++++++++++++++++++++++++++ 8 files changed, 78 insertions(+), 47 deletions(-) create mode 100644 src/modules/interface.js (limited to 'src/modules/config.js') diff --git a/src/App.js b/src/App.js index be6548f3..251fdfca 100644 --- a/src/App.js +++ b/src/App.js @@ -60,10 +60,10 @@ export default { }, logo () { return this.$store.state.config.logo }, style () { return { 'background-image': `url(${this.background})` } }, - sitename () { return this.$store.state.config.name }, + sitename () { return this.$store.state.interface.name }, chat () { return this.$store.state.chat.channel.state === 'joined' }, - suggestionsEnabled () { return this.$store.state.config.suggestionsEnabled }, - showInstanceSpecificPanel () { return this.$store.state.config.showInstanceSpecificPanel } + suggestionsEnabled () { return this.$store.state.interface.suggestionsEnabled }, + showInstanceSpecificPanel () { return this.$store.state.interface.showInstanceSpecificPanel } }, methods: { activatePanel (panelName) { diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index a117b76f..12144324 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -5,7 +5,7 @@ const LoginForm = { }), computed: { loggingIn () { return this.$store.state.users.loggingIn }, - registrationOpen () { return this.$store.state.config.registrationOpen } + registrationOpen () { return this.$store.state.interface.registrationOpen } }, methods: { submit () { diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js index 73840608..e53fa4e5 100644 --- a/src/components/registration/registration.js +++ b/src/components/registration/registration.js @@ -5,11 +5,11 @@ const registration = { registering: false }), created () { - if ((!this.$store.state.config.registrationOpen && !this.token) || !!this.$store.state.users.currentUser) { + if ((!this.$store.state.interface.registrationOpen && !this.token) || !!this.$store.state.users.currentUser) { this.$router.push('/main/all') } // Seems like this doesn't work at first page open for some reason - if (this.$store.state.config.registrationOpen && this.token) { + if (this.$store.state.interface.registrationOpen && this.token) { this.$router.push('/registration') } }, diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 5e28c1af..6d481820 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -44,8 +44,7 @@ const settings = { return this.$store.state.users.currentUser }, currentSaveStateNotice () { - console.log(this.$store.state.config._internal.currentSaveStateNotice && this.$store.state.config._internal.currentSaveStateNotice.error) - return this.$store.state.config._internal.currentSaveStateNotice + return this.$store.state.interface.settings.currentSaveStateNotice } }, watch: { diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index be7c64a7..481cdf09 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -5,15 +5,17 @@ {{$t('settings.settings')}} -