diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js index 57d21b28..f4f6aebf 100644 --- a/src/components/attachment/attachment.js +++ b/src/components/attachment/attachment.js @@ -7,16 +7,19 @@ const Attachment = { 'nsfw', 'statusId' ], - data: () => ({ - nsfwImage, - showHidden: false - }), + data () { + return { + nsfwImage, + hideNsfwLocal: this.$store.state.config.hideNsfw, + showHidden: false + } + }, computed: { type () { return fileTypeService.fileType(this.attachment.mimetype) }, hidden () { - return this.nsfw && !this.showHidden + return this.nsfw && this.hideNsfwLocal && !this.showHidden } }, methods: { diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue index e0eba6a9..45cc1929 100644 --- a/src/components/attachment/attachment.vue +++ b/src/components/attachment/attachment.vue @@ -3,7 +3,7 @@ -
+
Hide
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 61236af2..c1b88f82 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -3,7 +3,8 @@ import StyleSwitcher from '../style_switcher/style_switcher.vue' const settings = { data () { return { - hideAttachmentsLocal: this.$store.state.config.hideAttachments + hideAttachmentsLocal: this.$store.state.config.hideAttachments, + hideNsfwLocal: this.$store.state.config.hideNsfw } }, components: { @@ -12,6 +13,9 @@ const settings = { watch: { hideAttachmentsLocal (value) { this.$store.dispatch('setOption', { name: 'hideAttachments', 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 f2f83953..89b89a39 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -12,6 +12,8 @@

Attachments

+ +
diff --git a/src/main.js b/src/main.js index 51d281fa..81534cae 100644 --- a/src/main.js +++ b/src/main.js @@ -29,7 +29,10 @@ Vue.use(VueTimeago, { }) const persistedStateOptions = { - paths: ['users.users', 'statuses.notifications', 'config.hideAttachments'] + paths: ['config.hideAttachments', + 'config.hideNsfw', + 'statuses.notifications', + 'users.users'] } const store = new Vuex.Store({ diff --git a/src/modules/config.js b/src/modules/config.js index 25de98ea..896a6978 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -4,7 +4,8 @@ import StyleSetter from '../services/style_setter/style_setter.js' const defaultState = { name: 'Pleroma FE', colors: {}, - hideAttachments: false + hideAttachments: false, + hideNsfw: true } const config = {