aboutsummaryrefslogtreecommitdiff
path: root/src/components/attachment/attachment.js
diff options
context:
space:
mode:
authorxj9 <xj9@heropunch.io>2017-03-08 20:23:10 -0700
committerxj9 <xj9@heropunch.io>2017-03-08 20:23:10 -0700
commit502757da28d573641a48197c284b7e40dfc8154e (patch)
treeec3d6eee6bbabe36e6ee444d757289db8207929b /src/components/attachment/attachment.js
parent049c74f8e87e0aa19ee416bb72c987296a3e2dc9 (diff)
improvements on fature/better-nsfw-image-loading
- loading indicator - avoid hitting the cache if we already know the image was loaded - more responsive toggle
Diffstat (limited to 'src/components/attachment/attachment.js')
-rw-r--r--src/components/attachment/attachment.js24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js
index c3f52f57..7715add5 100644
--- a/src/components/attachment/attachment.js
+++ b/src/components/attachment/attachment.js
@@ -11,7 +11,9 @@ const Attachment = {
return {
nsfwImage,
hideNsfwLocal: this.$store.state.config.hideNsfw,
- showHidden: false
+ showHidden: false,
+ loading: false,
+ img: document.createElement('img')
}
},
computed: {
@@ -20,6 +22,13 @@ const Attachment = {
},
hidden () {
return this.nsfw && this.hideNsfwLocal && !this.showHidden
+ },
+ autoHeight () {
+ if (this.type === 'image' && this.nsfw) {
+ return {
+ 'min-height': '311px'
+ }
+ }
}
},
methods: {
@@ -29,10 +38,15 @@ const Attachment = {
}
},
toggleHidden () {
- let img = document.createElement('img')
- img.src = this.attachment.url
- img.onload = () => {
- this.showHidden = !this.showHidden
+ if (this.img.onload) {
+ this.img.onload()
+ } else {
+ this.loading = true
+ this.img.src = this.attachment.url
+ this.img.onload = () => {
+ this.loading = false
+ this.showHidden = !this.showHidden
+ }
}
}
}