Skip to content
Snippets Groups Projects
Unverified Commit c36b9cc5 authored by Eugen Rochko's avatar Eugen Rochko Committed by GitHub
Browse files

Ensure link thumbnails are not stretched to super low quality (#5932)

parent 70ce2a20
No related branches found
No related tags found
No related merge requests found
......@@ -59,6 +59,8 @@ export default class Card extends React.PureComponent {
renderLink () {
const { card, maxDescription } = this.props;
const { width } = this.state;
const horizontal = card.get('width') > card.get('height') && (card.get('width') + 100 >= width);
let image = '';
let provider = card.get('provider_name');
......@@ -75,17 +77,15 @@ export default class Card extends React.PureComponent {
provider = decodeIDNA(getHostname(card.get('url')));
}
const className = classnames('status-card', {
'horizontal': card.get('width') > card.get('height'),
});
const className = classnames('status-card', { horizontal });
return (
<a href={card.get('url')} className={className} target='_blank' rel='noopener'>
<a href={card.get('url')} className={className} target='_blank' rel='noopener' ref={this.setRef}>
{image}
<div className='status-card__content'>
<strong className='status-card__title' title={card.get('title')}>{card.get('title')}</strong>
<p className='status-card__description'>{(card.get('description') || '').substring(0, maxDescription)}</p>
{!horizontal && <p className='status-card__description'>{(card.get('description') || '').substring(0, maxDescription)}</p>}
<span className='status-card__host'>{provider}</span>
</div>
</a>
......
......@@ -2273,14 +2273,19 @@ button.icon-button.active i.fa-retweet {
.status-card__image-image {
border-radius: 4px 4px 0 0;
}
.status-card__title {
white-space: inherit;
}
}
.status-card__image-image {
border-radius: 4px 0 0 4px;
display: block;
height: auto;
margin: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.load-more {
......
......@@ -33,7 +33,7 @@ class PreviewCard < ApplicationRecord
has_and_belongs_to_many :statuses
has_attached_file :image, styles: { original: '280x280>' }, convert_options: { all: '-quality 80 -strip' }
has_attached_file :image, styles: { original: '400x400>' }, convert_options: { all: '-quality 80 -strip' }
include Attachmentable
include Remotable
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment