From 82fa5d08c4f441fa9df20edab214b99ecb7776b3 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 9 Sep 2018 21:21:23 +0300 Subject: [PATCH] more refactoring --- src/App.js | 6 +-- .../features_panel/features_panel.js | 10 ++-- src/components/login_form/login_form.js | 2 +- .../post_status_form/post_status_form.js | 8 ++-- src/components/registration/registration.js | 6 +-- src/components/settings/settings.js | 35 +++++++------- src/components/settings/settings.vue | 2 +- src/components/user_settings/user_settings.js | 4 +- src/main.js | 44 ++++++++--------- src/modules/instance.js | 47 +++++++++++++++++++ src/modules/interface.js | 21 +-------- 11 files changed, 109 insertions(+), 76 deletions(-) create mode 100644 src/modules/instance.js diff --git a/src/App.js b/src/App.js index 251fdfca..a58a2bc5 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.interface.name }, + sitename () { return this.$store.state.instance.name }, chat () { return this.$store.state.chat.channel.state === 'joined' }, - suggestionsEnabled () { return this.$store.state.interface.suggestionsEnabled }, - showInstanceSpecificPanel () { return this.$store.state.interface.showInstanceSpecificPanel } + suggestionsEnabled () { return this.$store.state.instance.suggestionsEnabled }, + showInstanceSpecificPanel () { return this.$store.state.instance.showInstanceSpecificPanel } }, methods: { activatePanel (panelName) { diff --git a/src/components/features_panel/features_panel.js b/src/components/features_panel/features_panel.js index 80f5c966..945165bb 100644 --- a/src/components/features_panel/features_panel.js +++ b/src/components/features_panel/features_panel.js @@ -3,11 +3,11 @@ const FeaturesPanel = { chat: function () { return this.$store.state.config.chatAvailable && (!this.$store.state.chatDisabled) }, - gopher: function () { return this.$store.state.config.gopherAvailable }, - whoToFollow: function () { return this.$store.state.config.suggestionsEnabled }, - mediaProxy: function () { return this.$store.state.config.mediaProxyAvailable }, - scopeOptions: function () { return this.$store.state.config.scopeOptionsEnabled }, - textlimit: function () { return this.$store.state.config.textlimit } + gopher: function () { return this.$store.state.instance.gopherAvailable }, + whoToFollow: function () { return this.$store.state.instance.suggestionsEnabled }, + mediaProxy: function () { return this.$store.state.instance.mediaProxyAvailable }, + scopeOptions: function () { return this.$store.state.instance.scopeOptionsEnabled }, + textlimit: function () { return this.$store.state.instance.textlimit } } } diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index 12144324..4405fb92 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.interface.registrationOpen } + registrationOpen () { return this.$store.state.instance.registrationOpen } }, methods: { submit () { diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 7babe236..dc92f009 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -120,10 +120,10 @@ const PostStatusForm = { return this.$store.state.users.users }, emoji () { - return this.$store.state.config.emoji || [] + return this.$store.state.instance.emoji || [] }, customEmoji () { - return this.$store.state.config.customEmoji || [] + return this.$store.state.instance.customEmoji || [] }, statusLength () { return this.newStatus.status.length @@ -141,10 +141,10 @@ const PostStatusForm = { return this.hasStatusLengthLimit && (this.statusLength > this.statusLengthLimit) }, scopeOptionsEnabled () { - return this.$store.state.config.scopeOptionsEnabled + return this.$store.state.instance.scopeOptionsEnabled }, formattingOptionsEnabled () { - return this.$store.state.config.formattingOptionsEnabled + return this.$store.state.instance.formattingOptionsEnabled } }, methods: { diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js index e53fa4e5..8f59878d 100644 --- a/src/components/registration/registration.js +++ b/src/components/registration/registration.js @@ -5,16 +5,16 @@ const registration = { registering: false }), created () { - if ((!this.$store.state.interface.registrationOpen && !this.token) || !!this.$store.state.users.currentUser) { + if ((!this.$store.state.instance.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.interface.registrationOpen && this.token) { + if (this.$store.state.instance.registrationOpen && this.token) { this.$router.push('/registration') } }, computed: { - termsofservice () { return this.$store.state.config.tos }, + termsofservice () { return this.$store.state.instance.tos }, token () { return this.$route.params.token } }, methods: { diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 6d481820..856ca40e 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -6,25 +6,26 @@ import { filter, trim } from 'lodash' const settings = { data () { - const config = this.$store.state.config + const user = this.$store.state.config + const instance = this.$store.state.instance return { - hideAttachmentsLocal: config.hideAttachments, - hideAttachmentsInConvLocal: config.hideAttachmentsInConv, - hideNsfwLocal: config.hideNsfw, - notificationVisibilityLocal: config.notificationVisibility, - replyVisibilityLocal: config.replyVisibility, - loopVideoLocal: config.loopVideo, - loopVideoSilentOnlyLocal: config.loopVideoSilentOnly, - muteWordsString: config.muteWords.join('\n'), - autoLoadLocal: config.autoLoad, - streamingLocal: config.streaming, - pauseOnUnfocusedLocal: config.pauseOnUnfocused, - hoverPreviewLocal: config.hoverPreview, - collapseMessageWithSubjectLocal: typeof config.collapseMessageWithSubject === 'undefined' - ? config.defaultCollapseMessageWithSubject - : config.collapseMessageWithSubject, - stopGifs: config.stopGifs, + hideAttachmentsLocal: user.hideAttachments, + hideAttachmentsInConvLocal: user.hideAttachmentsInConv, + hideNsfwLocal: user.hideNsfw, + notificationVisibilityLocal: user.notificationVisibility, + replyVisibilityLocal: user.replyVisibility, + loopVideoLocal: user.loopVideo, + loopVideoSilentOnlyLocal: user.loopVideoSilentOnly, + muteWordsString: user.muteWords.join('\n'), + autoLoadLocal: user.autoLoad, + streamingLocal: user.streaming, + pauseOnUnfocusedLocal: user.pauseOnUnfocused, + hoverPreviewLocal: user.hoverPreview, + collapseMessageWithSubjectLocal: typeof user.collapseMessageWithSubject === 'undefined' + ? instance.collapseMessageWithSubject + : user.collapseMessageWithSubject, + stopGifs: user.stopGifs, loopSilentAvailable: // Firefox Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') || diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 481cdf09..55ffa591 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -7,7 +7,7 @@