Fix being unable to withdraw follow request when confirmation modal is disabled (#19687)
* Fix being unable to withdraw follow request when unfollow confirmation modal is disabled Fixes #19569 * Fix “unfollow” being inadequately used for withdrawing follow requests from account card
This commit is contained in:
		@@ -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')));
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user