hide rich media preview image in case of broken image

This commit is contained in:
taehoon 2019-08-04 14:15:43 -04:00
parent 17dc7357d5
commit bb9cee84a3
2 changed files with 15 additions and 1 deletions

View File

@ -5,6 +5,11 @@ const LinkPreview = {
'size',
'nsfw'
],
data () {
return {
imageLoaded: false
}
},
computed: {
useImage () {
// Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid
@ -15,6 +20,15 @@ const LinkPreview = {
useDescription () {
return this.card.description && /\S/.test(this.card.description)
}
},
created () {
if (this.useImage) {
const newImg = new Image()
newImg.onload = () => {
this.imageLoaded = true
}
newImg.src = this.card.image
}
}
}

View File

@ -7,7 +7,7 @@
rel="noopener"
>
<div
v-if="useImage"
v-if="useImage && imageLoaded"
class="card-image"
:class="{ 'small-image': size === 'small' }"
>