aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/attachment/attachment.js3
-rw-r--r--src/components/attachment/attachment.vue4
-rw-r--r--src/components/settings/settings.js4
-rw-r--r--src/components/settings/settings.vue2
-rw-r--r--src/main.js5
-rw-r--r--src/modules/config.js3
6 files changed, 16 insertions, 5 deletions
diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js
index 57d21b28..8e959903 100644
--- a/src/components/attachment/attachment.js
+++ b/src/components/attachment/attachment.js
@@ -9,7 +9,8 @@ const Attachment = {
],
data: () => ({
nsfwImage,
- showHidden: false
+ hideNsfwLocal: this.$store.state.config.hideNsfw,
+ showHidden: !this.hideNsfwLocal
}),
computed: {
type () {
diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue
index e0eba6a9..577f8444 100644
--- a/src/components/attachment/attachment.vue
+++ b/src/components/attachment/attachment.vue
@@ -1,9 +1,9 @@
<template>
<div class="attachment" :class="type">
- <a class="image-attachment" v-if="hidden" v-on:click.prevent="toggleHidden()">
+ <a class="image-attachment" v-if="hidden && hideNsfwLocal" v-on:click.prevent="toggleHidden()">
<img :key="nsfwImage" :src="nsfwImage"></img>
</a>
- <div class="hider" v-if="nsfw && !hidden">
+ <div class="hider" v-if="nsfw && !hidden && hideNsfwLocal">
<a href="#" @click.prevent="toggleHidden()">Hide</a>
</div>
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js
index 61236af2..7d58b64c 100644
--- a/src/components/settings/settings.js
+++ b/src/components/settings/settings.js
@@ -4,6 +4,7 @@ const settings = {
data () {
return {
hideAttachmentsLocal: this.$store.state.config.hideAttachments
+ hideNsfwLocal: this.$store.state.config.hideNsfw
}
},
components: {
@@ -13,6 +14,9 @@ const settings = {
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 @@
<h2>Attachments</h2>
<input type="checkbox" id="hideAttachments" v-model="hideAttachmentsLocal">
<label for="hideAttachments">Hide Attachments</label>
+ <input type="checkbox" id="hideNsfw" v-model="hideNsfwLocal">
+ <label for="hideNsfw">Enable clickthrough NSFW attachment hiding</label>
</div>
</div>
</div>
diff --git a/src/main.js b/src/main.js
index 51d281fa..e553d9aa 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 = {