hide rich media preview image in case of broken image
This commit is contained in:
parent
17dc7357d5
commit
bb9cee84a3
2 changed files with 15 additions and 1 deletions
|
@ -5,6 +5,11 @@ const LinkPreview = {
|
||||||
'size',
|
'size',
|
||||||
'nsfw'
|
'nsfw'
|
||||||
],
|
],
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
imageLoaded: false
|
||||||
|
}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
useImage () {
|
useImage () {
|
||||||
// Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid
|
// Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid
|
||||||
|
@ -15,6 +20,15 @@ const LinkPreview = {
|
||||||
useDescription () {
|
useDescription () {
|
||||||
return this.card.description && /\S/.test(this.card.description)
|
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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
rel="noopener"
|
rel="noopener"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="useImage"
|
v-if="useImage && imageLoaded"
|
||||||
class="card-image"
|
class="card-image"
|
||||||
:class="{ 'small-image': size === 'small' }"
|
:class="{ 'small-image': size === 'small' }"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in a new issue