let thumbnail = '';
if (attachment.get('type') === 'image') {
+ const previewUrl = attachment.get('preview_url');
+ const previewWidth = attachment.getIn(['meta', 'small', 'width']);
+
+ const originalUrl = attachment.get('url');
+ const originalWidth = attachment.getIn(['meta', 'original', 'width']);
+
+ const srcSet = `${originalUrl} ${originalWidth}w, ${previewUrl} ${previewWidth}w`;
+ const sizes = `(min-width: 1025px) ${320 * (width / 100)}px, ${width}vw`;
+
thumbnail = (
- <a // eslint-disable-line jsx-a11y/anchor-has-content
+ <a
className='media-gallery__item-thumbnail'
- href={attachment.get('remote_url') || attachment.get('url')}
+ href={attachment.get('remote_url') || originalUrl}
onClick={this.handleClick}
target='_blank'
- style={{ backgroundImage: `url(${attachment.get('preview_url')})` }}
- />
+ >
+ <img src={previewUrl} srcSet={srcSet} sizes={sizes} alt='' />
+ </a>
);
} else if (attachment.get('type') === 'gifv') {
const autoPlay = !isIOS() && this.props.autoPlayGif;