import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' import { defineMessages, injectIntl } from 'react-intl' import Button from '../button' import StatusContainer from '../../containers/status_container' import Text from '../text' import ModalLayout from './modal_layout' const messages = defineMessages({ removeRepost: { id: 'status.cancel_repost_private', defaultMessage: 'Remove Repost' }, repost: { id: 'status.repost', defaultMessage: 'Repost' }, combo: { id: 'boost_modal.combo', defaultMessage: 'You can press Shift + Repost to skip this next time' }, }) export default @injectIntl class BoostModal extends ImmutablePureComponent { static contextTypes = { router: PropTypes.object, } static propTypes = { status: ImmutablePropTypes.map.isRequired, onRepost: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, } componentDidMount() { this.button.focus() } handleRepost = () => { this.props.onRepost(this.props.status) this.props.onClose() } setRef = (c) => { this.button = c } render () { const { status, onClose, intl } = this.props const buttonText = status.get('reblogged') ? messages.removeRepost : messages.repost return (
{intl.formatMessage(messages.combo)}
) } }