aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorValD <maghtpol@gmail.com>2018-12-12 03:33:53 +0530
committerValD <maghtpol@gmail.com>2018-12-12 03:33:53 +0530
commit7b4e08dd93520e3dc1113d76e097b998d12b0f3c (patch)
treefa444345288b8c051934bdb858b4785b1ab9760e /src
parentb195ce12e1fcf28ea1e74a1231f9a31dcf71af0b (diff)
added config for preload and made attachment responsive to it
Diffstat (limited to 'src')
-rw-r--r--src/components/attachment/attachment.js3
-rw-r--r--src/components/attachment/attachment.vue3
-rw-r--r--src/components/settings/settings.js4
-rw-r--r--src/components/settings/settings.vue4
-rw-r--r--src/i18n/en.json1
-rw-r--r--src/modules/config.js1
6 files changed, 13 insertions, 3 deletions
diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js
index 41730720..71ef2ca4 100644
--- a/src/components/attachment/attachment.js
+++ b/src/components/attachment/attachment.js
@@ -13,6 +13,7 @@ const Attachment = {
return {
nsfwImage,
hideNsfwLocal: this.$store.state.config.hideNsfw,
+ preloadNsfwImage: this.$store.state.config.preloadNsfwImage,
loopVideo: this.$store.state.config.loopVideo,
showHidden: false,
loading: false,
@@ -27,7 +28,7 @@ const Attachment = {
return fileTypeService.fileType(this.attachment.mimetype)
},
hidden () {
- return this.nsfw && this.hideNsfwLocal && !this.showHidden
+ return (this.nsfw && this.hideNsfwLocal && !this.showHidden)
},
isEmpty () {
return (this.type === 'html' && !this.attachment.oembed) || this.type === 'unknown'
diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue
index 6c8a04ed..1b1956e0 100644
--- a/src/components/attachment/attachment.vue
+++ b/src/components/attachment/attachment.vue
@@ -9,8 +9,7 @@
<div class="hider" v-if="nsfw && hideNsfwLocal && !hidden">
<a href="#" @click.prevent="toggleHidden()">Hide</a>
</div>
-
- <a v-if="type === 'image'" class="image-attachment" :class="{'hidden': hidden}" :href="attachment.url" target="_blank" :title="attachment.description">
+ <a v-if="type === 'image' && (!hidden || preloadNsfwImage)" class="image-attachment" :class="{'hidden': hidden && preloadNsfwImage}" :href="attachment.url" target="_blank" :title="attachment.description">
<StillImage :class="{'small': isSmall}" referrerpolicy="no-referrer" :mimetype="attachment.mimetype" :src="attachment.large_thumb_url || attachment.url"/>
</a>
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js
index 19bd2e5b..4d8744da 100644
--- a/src/components/settings/settings.js
+++ b/src/components/settings/settings.js
@@ -14,6 +14,7 @@ const settings = {
hideAttachmentsInConvLocal: user.hideAttachmentsInConv,
hideNsfwLocal: user.hideNsfw,
hideISPLocal: user.hideISP,
+ preloadNsfwImage: user.preloadNsfwImage,
hidePostStatsLocal: typeof user.hidePostStats === 'undefined'
? instance.hidePostStats
: user.hidePostStats,
@@ -84,6 +85,9 @@ const settings = {
hideNsfwLocal (value) {
this.$store.dispatch('setOption', { name: 'hideNsfw', value })
},
+ preloadNsfwImage(value) {
+ this.$store.dispatch('setOption', { name: 'preloadNsfwImage', value })
+ },
hideISPLocal (value) {
this.$store.dispatch('setOption', { name: 'hideISP', value })
},
diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue
index dec33505..60b70227 100644
--- a/src/components/settings/settings.vue
+++ b/src/components/settings/settings.vue
@@ -119,6 +119,10 @@
<label for="hideNsfw">{{$t('settings.nsfw_clickthrough')}}</label>
</li>
<li>
+ <input type="checkbox" id="preloadNsfwImage" v-model="preloadNsfwImage">
+ <label for="preloadNsfwImage">{{$t('settings.preload_sensitive')}}</label>
+ </li>
+ <li>
<input type="checkbox" id="stopGifs" v-model="stopGifs">
<label for="stopGifs">{{$t('settings.stop_gifs')}}</label>
</li>
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 97dfcb77..dc47788c 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -125,6 +125,7 @@
"hide_attachments_in_convo": "Hide attachments in conversations",
"hide_attachments_in_tl": "Hide attachments in timeline",
"hide_isp": "Hide instance-specific panel",
+ "preload_sensitive": "Preload Sensitive Images",
"hide_post_stats": "Hide post statistics (e.g. the number of favorites)",
"hide_user_stats": "Hide user statistics (e.g. the number of followers)",
"import_followers_from_a_csv_file": "Import follows from a csv file",
diff --git a/src/modules/config.js b/src/modules/config.js
index 45ac8f65..7b0b2cf4 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -9,6 +9,7 @@ const defaultState = {
hideAttachments: false,
hideAttachmentsInConv: false,
hideNsfw: true,
+ preloadNsfwImage: true,
loopVideo: true,
loopVideoSilentOnly: true,
autoLoad: true,