import { NavLink } from 'react-router-dom' import { injectIntl, defineMessages, FormattedMessage } from 'react-intl' import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' import Icon from './icon' import Text from './text' const messages = defineMessages({ filtered: { id: 'status.filtered', defaultMessage: 'Filtered' }, promoted: { id: 'status.promoted', defaultMessage: 'Promoted gab' }, pinned: { id: 'status.pinned', defaultMessage: 'Pinned gab' }, reposted: { id: 'status.reposted_by', defaultMessage: '{name} reposted' }, }) export default @injectIntl class StatusPrepend extends ImmutablePureComponent { static propTypes = { intl: PropTypes.object.isRequired, status: ImmutablePropTypes.map, featured: PropTypes.bool, promoted: PropTypes.bool, } render() { const { intl, status, featured, promoted, } = this.props if (!status) return null const isRepost = (status.get('reblog', null) !== null && typeof status.get('reblog') === 'object') if (!featured && !promoted && !isRepost) return null const iconId = featured ? 'pin' : promoted ? 'star' : 'repost' return (
{ isRepost &&
) }} />
} { !isRepost && {intl.formatMessage(featured ? messages.pinned : messages.promoted)} }
) } }