[Glitch] Fix dimensions of preview cards, fix crash in web UI, fix warning

Port 9c38c5daa3 to glitch-soc
This commit is contained in:
Thibaut Girka
2018-10-29 14:56:53 +01:00
committed by ThibG
parent ac9780b844
commit b21615e957
7 changed files with 6 additions and 87 deletions

View File

@@ -59,7 +59,7 @@ export default class Card extends React.PureComponent {
card: ImmutablePropTypes.map,
maxDescription: PropTypes.number,
onOpenMedia: PropTypes.func.isRequired,
compact: PropTypes.boolean,
compact: PropTypes.bool,
};
static defaultProps = {
@@ -120,7 +120,7 @@ export default class Card extends React.PureComponent {
const content = { __html: addAutoPlay(card.get('html')) };
const { width } = this.state;
const ratio = card.get('width') / card.get('height');
const height = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);
const height = width / ratio;
return (
<div
@@ -145,8 +145,8 @@ export default class Card extends React.PureComponent {
const interactive = card.get('type') !== 'link';
const className = classnames('status-card', { horizontal, compact, interactive });
const title = interactive ? <a className='status-card__title' href={card.get('url')} title={card.get('title')} rel='noopener' target='_blank'><strong>{card.get('title')}</strong></a> : <strong className='status-card__title' title={card.get('title')}>{card.get('title')}</strong>;
const ratio = compact ? 16 / 9 : card.get('width') / card.get('height');
const height = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);
const ratio = card.get('width') / card.get('height');
const height = (compact && !embedded) ? (width / (16 / 9)) : (width / ratio);
const description = (
<div className='status-card__content'>

View File

@@ -8,7 +8,7 @@ import MediaGallery from 'flavours/glitch/components/media_gallery';
import AttachmentList from 'flavours/glitch/components/attachment_list';
import { Link } from 'react-router-dom';
import { FormattedDate, FormattedNumber } from 'react-intl';
import CardContainer from '../containers/card_container';
import Card from './card';
import ImmutablePureComponent from 'react-immutable-pure-component';
import Video from 'flavours/glitch/features/video';
import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
@@ -83,7 +83,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
);
mediaIcon = 'picture-o';
}
} else media = <CardContainer onOpenMedia={this.props.onOpenMedia} statusId={status.get('id')} />;
} else media = <Card onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;
if (status.get('application')) {
applicationLink = <span> · <a className='detailed-status__application' href={status.getIn(['application', 'website'])} target='_blank' rel='noopener'>{status.getIn(['application', 'name'])}</a></span>;

View File

@@ -1,8 +0,0 @@
import { connect } from 'react-redux';
import Card from '../components/card';
const mapStateToProps = (state, { statusId }) => ({
card: state.getIn(['statuses', statusId, 'card'], null),
});
export default connect(mapStateToProps)(Card);