diff --git a/js/components/image-preview.js b/js/components/image-preview.js index 10b1934..a830fe2 100644 --- a/js/components/image-preview.js +++ b/js/components/image-preview.js @@ -10,7 +10,7 @@ import { buildDevrantImageUrl, isGifUrl } from '../utils/url.js'; class ImagePreview extends BaseComponent { static get observedAttributes() { - return ['src', 'width', 'height', 'alt']; + return ['src', 'width', 'height', 'alt', 'external']; } init() { @@ -23,14 +23,15 @@ class ImagePreview extends BaseComponent { const width = this.getAttr('width'); const height = this.getAttr('height'); const alt = this.getAttr('alt') || 'Image'; + const external = this.hasAttribute('external'); if (!src) { this.setHtml(''); return; } - const imageUrl = buildDevrantImageUrl(src); - const isGif = isGifUrl(imageUrl); + const imageUrl = external ? src : buildDevrantImageUrl(src); + const isGif = isGifUrl(src); const aspectRatio = width && height ? width / height : null; this.addClass('image-preview'); @@ -71,7 +72,8 @@ class ImagePreview extends BaseComponent { const src = this.getAttr('src'); if (!src) return; - const imageUrl = buildDevrantImageUrl(src); + const external = this.hasAttribute('external'); + const imageUrl = external ? src : buildDevrantImageUrl(src); const lightbox = document.createElement('image-lightbox'); lightbox.setAttribute('src', imageUrl); diff --git a/js/components/rant-content.js b/js/components/rant-content.js index 6b933e8..d563aea 100644 --- a/js/components/rant-content.js +++ b/js/components/rant-content.js @@ -53,11 +53,12 @@ class RantContent extends BaseComponent { let html = `
${renderedText}
`; if (images.length > 0) { + const isExternal = links && links.length > 0; html += `
${images.map(url => { const safeUrl = sanitizeUrl(url); - return safeUrl ? `` : ''; + return safeUrl ? `` : ''; }).join('')}
`;