diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-11-03 16:05:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-03 16:05:39 +0100 |
commit | cbb440bbc2de7c805f687c886b32ab7dbafde07f (patch) | |
tree | 38508719ce56d782a9895fb894c1be7405a0b25a /app | |
parent | 125322718bfe983e94937f5d127003d47a138313 (diff) |
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
Diffstat (limited to 'app')
-rw-r--r-- | app/javascript/mastodon/features/account_timeline/containers/header_container.js | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/features/directory/components/account_card.js | 16 |
2 files changed, 14 insertions, 4 deletions
diff --git a/app/javascript/mastodon/features/account_timeline/containers/header_container.js b/app/javascript/mastodon/features/account_timeline/containers/header_container.js index 62e59939c..1d09cd1ef 100644 --- a/app/javascript/mastodon/features/account_timeline/containers/header_container.js +++ b/app/javascript/mastodon/features/account_timeline/containers/header_container.js @@ -60,6 +60,8 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ confirm: intl.formatMessage(messages.cancelFollowRequestConfirm), onConfirm: () => dispatch(unfollowAccount(account.get('id'))), })); + } else { + dispatch(unfollowAccount(account.get('id'))); } } else { dispatch(followAccount(account.get('id'))); diff --git a/app/javascript/mastodon/features/directory/components/account_card.js b/app/javascript/mastodon/features/directory/components/account_card.js index 7c675a147..e7eeb2254 100644 --- a/app/javascript/mastodon/features/directory/components/account_card.js +++ b/app/javascript/mastodon/features/directory/components/account_card.js @@ -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'))); } |