diff options
| author | Roger Braun <roger@rogerbraun.net> | 2017-03-09 09:01:35 +0100 |
|---|---|---|
| committer | Roger Braun <roger@rogerbraun.net> | 2017-03-09 09:01:35 +0100 |
| commit | 2a29c896724698cb9ac35f8d1b4b581e4f49eec6 (patch) | |
| tree | b2596b07c3482c76493cc61974932cdf33e296ab /src/components/attachment/attachment.js | |
| parent | ba4f7ef3efe15aaebce523113283b5854d16ceb8 (diff) | |
| parent | b11c1f57a95e689a751c4dff72ebe7aabc9c0601 (diff) | |
Merge branch 'xj9/pleroma-fe-feature/even-better-nsfw-image-loading' into develop
Diffstat (limited to 'src/components/attachment/attachment.js')
| -rw-r--r-- | src/components/attachment/attachment.js | 24 |
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 + } } } } |
