diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 5693dcc65a..c4126e4c84 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -59,6 +59,7 @@ const afterStoreSetup = ({ store, i18n }) => { copyInstanceOption('background') copyInstanceOption('hidePostStats') copyInstanceOption('hideUserStats') + copyInstanceOption('hideFilteredStatuses') copyInstanceOption('logo') store.dispatch('setInstanceOption', { diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 8d1384855e..257eb691f5 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -27,6 +27,11 @@ const settings = { : user.hideUserStats, hideUserStatsDefault: this.$t('settings.values.' + instance.hideUserStats), + hideFilteredStatusesLocal: typeof user.hideFilteredStatuses === 'undefined' + ? instance.hideFilteredStatuses + : user.hideFilteredStatuses, + hideFilteredStatusesDefault: this.$t('settings.values.' + instance.hideFilteredStatuses), + notificationVisibilityLocal: user.notificationVisibility, replyVisibilityLocal: user.replyVisibility, loopVideoLocal: user.loopVideo, @@ -96,6 +101,9 @@ const settings = { hideUserStatsLocal (value) { this.$store.dispatch('setOption', { name: 'hideUserStats', value }) }, + hideFilteredStatusesLocal (value) { + this.$store.dispatch('setOption', { name: 'hideFilteredStatuses', value }) + }, hideNsfwLocal (value) { this.$store.dispatch('setOption', { name: 'hideNsfw', value }) }, diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 9953780f23..2fa2c89ca4 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -205,7 +205,6 @@ -
{{$t('settings.replies_in_timeline')}} @@ -232,11 +231,18 @@
-

{{$t('settings.filtering_explanation')}}

- +
+

{{$t('settings.filtering_explanation')}}

+ +
+
+ + +
- diff --git a/src/components/status/status.js b/src/components/status/status.js index 65ddcb9f65..3403fd1295 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -110,6 +110,11 @@ const Status = { return hits }, muted () { return !this.unmuted && (this.status.user.muted || this.muteWordHits.length > 0) }, + hideFilteredStatuses () { + return typeof this.$store.state.config.hideFilteredStatuses === 'undefined' + ? this.$store.state.instance.hideFilteredStatuses + : this.$store.state.config.hideFilteredStatuses + }, isFocused () { // retweet or root of an expanded conversation if (this.focused) { diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 9986107f7a..5e7fa6c5b3 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -1,5 +1,5 @@