import ImmutablePropTypes from 'react-immutable-proptypes';
const hostStyle = {
display: 'block',
marginTop: '5px',
fontSize: '13px'
};
const getHostname = url => {
const parser = document.createElement('a');
parser.href = url;
return parser.hostname;
};
class Card extends React.PureComponent {
renderLink () {
const { card } = this.props;
let image = '';
let provider = card.get('provider_name');
if (card.get('image')) {
image = (
);
}
if (provider.length < 1) {
provider = getHostname(card.get('url'))
}
return (
{image}
{card.get('title')}
{(card.get('description') || '').substring(0, 50)}
{provider}
);
}
renderPhoto () {
const { card } = this.props;
return (
);
}
renderVideo () {
const { card } = this.props;
const content = { __html: card.get('html') };
return (
);
}
render () {
const { card } = this.props;
if (card === null) {
return null;
}
switch(card.get('type')) {
case 'link':
return this.renderLink();
case 'photo':
return this.renderPhoto();
case 'video':
return this.renderVideo();
case 'rich':
default:
return null;
}
}
}
Card.propTypes = {
card: ImmutablePropTypes.map
};
export default Card;