import { injectIntl, FormattedMessage } from 'react-intl' import Block from '../block' import Button from '../button' import Heading from '../heading' import Text from '../text' export default @injectIntl class ConfirmationModal extends PureComponent { static propTypes = { title: PropTypes.node.isRequired, message: PropTypes.node.isRequired, confirm: PropTypes.string.isRequired, onClose: PropTypes.func.isRequired, onConfirm: PropTypes.func.isRequired, secondary: PropTypes.string, onSecondary: PropTypes.func, intl: PropTypes.object.isRequired, onCancel: PropTypes.func, } componentDidMount() { this.button.focus() } handleClick = () => { this.props.onClose() this.props.onConfirm() } handleSecondary = () => { this.props.onClose() this.props.onSecondary() } handleCancel = () => { const { onClose, onCancel } = this.props onClose() if (onCancel) onCancel() } setRef = (c) => { this.button = c } render() { const { title, message, confirm, secondary } = this.props return (
{title}
{message}
{ /** : todo : */ secondary !== undefined && (
) } }