From bb9cee84a32f185be252d8b2690938b3a89cfcce Mon Sep 17 00:00:00 2001 From: taehoon Date: Sun, 4 Aug 2019 14:15:43 -0400 Subject: [PATCH] hide rich media preview image in case of broken image --- src/components/link-preview/link-preview.js | 14 ++++++++++++++ src/components/link-preview/link-preview.vue | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/components/link-preview/link-preview.js b/src/components/link-preview/link-preview.js index 2f6da55e9f..444aafbe87 100644 --- a/src/components/link-preview/link-preview.js +++ b/src/components/link-preview/link-preview.js @@ -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 + } } } diff --git a/src/components/link-preview/link-preview.vue b/src/components/link-preview/link-preview.vue index 493774c29e..6917197754 100644 --- a/src/components/link-preview/link-preview.vue +++ b/src/components/link-preview/link-preview.vue @@ -7,7 +7,7 @@ rel="noopener" >