@ -24,6 +24,7 @@ const messages = defineMessages({
unfollow : { id : 'account.unfollow' , defaultMessage : 'Unfollow' } ,
follow : { id : 'account.follow' , defaultMessage : 'Follow' } ,
cancel _follow _request : { id : 'account.cancel_follow_request' , defaultMessage : 'Withdraw follow request' } ,
cancelFollowRequestConfirm : { id : 'confirmations.cancel_follow_request.confirm' , defaultMessage : 'Withdraw request' } ,
requested : { id : 'account.requested' , defaultMessage : 'Awaiting approval. Click to cancel follow request' } ,
unblock : { id : 'account.unblock_short' , defaultMessage : 'Unblock' } ,
unmute : { id : 'account.unmute_short' , defaultMessage : 'Unmute' } ,
@ -43,10 +44,7 @@ const makeMapStateToProps = () => {
const mapDispatchToProps = ( dispatch , { intl } ) => ( {
onFollow ( account ) {
if (
account . getIn ( [ 'relationship' , 'following' ] ) ||
account . getIn ( [ 'relationship' , 'requested' ] )
) {
if ( account . getIn ( [ 'relationship' , 'following' ] ) ) {
if ( unfollowModal ) {
dispatch (
openModal ( 'CONFIRM' , {
@ -64,6 +62,16 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
} else {
dispatch ( unfollowAccount ( account . get ( 'id' ) ) ) ;
}
} else if ( account . getIn ( [ 'relationship' , 'requested' ] ) ) {
if ( unfollowModal ) {
dispatch ( openModal ( 'CONFIRM' , {
message : < FormattedMessage id = 'confirmations.cancel_follow_request.message' defaultMessage = 'Are you sure you want to withdraw your request to follow {name}?' values = { { name : < strong > @ { account . get ( 'acct' ) } < /strong> }} / > ,
confirm : intl . formatMessage ( messages . cancelFollowRequestConfirm ) ,
onConfirm : ( ) => dispatch ( unfollowAccount ( account . get ( 'id' ) ) ) ,
} ) ) ;
} else {
dispatch ( unfollowAccount ( account . get ( 'id' ) ) ) ;
}
} else {
dispatch ( followAccount ( account . get ( 'id' ) ) ) ;
}