2020-08-17 21:07:16 +01:00
import React from 'react'
2020-08-17 21:59:29 +01:00
import PropTypes from 'prop-types'
2020-08-17 21:39:25 +01:00
import { connect } from 'react-redux'
2020-06-12 22:55:39 +01:00
import { FormattedMessage } from 'react-intl'
import ImmutablePureComponent from 'react-immutable-pure-component'
import ImmutablePropTypes from 'react-immutable-proptypes'
import { unfollowAccount } from '../../actions/accounts'
import ConfirmationModal from './confirmation_modal'
2020-03-24 04:39:12 +00:00
2020-06-12 22:55:39 +01:00
class UnfollowModal extends ImmutablePureComponent {
2020-03-24 04:39:12 +00:00
handleClick = ( ) => {
this . props . onClose ( )
2020-06-12 22:55:39 +01:00
this . props . onConfirm ( this . props . account . get ( 'id' ) )
2020-03-24 04:39:12 +00:00
}
handleCancel = ( ) => {
this . props . onClose ( )
}
render ( ) {
2020-06-12 22:55:39 +01:00
const { account } = this . props
2020-03-24 04:39:12 +00:00
return (
< ConfirmationModal
2020-06-12 22:55:39 +01:00
title = { ` Unfollow @ ${ account . get ( 'acct' ) } ` }
message = { < FormattedMessage id = 'confirmations.unfollow.message' defaultMessage = 'Are you sure you want to unfollow {name}?' values = { { name : < strong > @ { account . get ( 'acct' ) } < /strong> }} / > }
confirm = { < FormattedMessage id = 'confirmations.unfollow.confirm' defaultMessage = 'Unfollow' / > }
onClose = { this . handleCancel }
onConfirm = { this . handleClick }
2020-03-24 04:39:12 +00:00
/ >
)
}
}
2020-08-18 18:07:47 +01:00
const mapDispatchToProps = ( dispatch ) => ( {
onConfirm ( accountId ) {
dispatch ( unfollowAccount ( accountId ) )
} ,
} )
UnfollowModal . propTypes = {
isSubmitting : PropTypes . bool . isRequired ,
account : ImmutablePropTypes . map . isRequired ,
onConfirm : PropTypes . func . isRequired ,
onClose : PropTypes . func . isRequired ,
}
export default connect ( null , mapDispatchToProps ) ( UnfollowModal )