[Glitch] Fix block/mute lists showing a follow button when unblocking a user (#18364)

Port 662ed53c18 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Claire 2022-05-09 23:20:19 +02:00
parent 5fd8780b14
commit b356a995c1
3 changed files with 12 additions and 4 deletions

View File

@ -16,8 +16,10 @@ const messages = defineMessages({
requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' }, requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' },
unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },
mute_notifications: { id: 'account.mute_notifications', defaultMessage: 'You are not currently muting notifications from @{name}. Click to mute notifications' }, mute_notifications: { id: 'account.mute_notifications', defaultMessage: 'Mute notifications from @{name}' },
unmute_notifications: { id: 'account.unmute_notifications', defaultMessage: 'You are currently muting notifications from @{name}. Click to unmute notifications' }, unmute_notifications: { id: 'account.unmute_notifications', defaultMessage: 'Unmute notifications from @{name}' },
mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' },
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
}); });
export default @injectIntl export default @injectIntl
@ -34,6 +36,7 @@ class Account extends ImmutablePureComponent {
small: PropTypes.bool, small: PropTypes.bool,
actionIcon: PropTypes.string, actionIcon: PropTypes.string,
actionTitle: PropTypes.string, actionTitle: PropTypes.string,
defaultAction: PropTypes.string,
onActionClick: PropTypes.func, onActionClick: PropTypes.func,
}; };
@ -70,6 +73,7 @@ class Account extends ImmutablePureComponent {
onActionClick, onActionClick,
actionIcon, actionIcon,
actionTitle, actionTitle,
defaultAction,
} = this.props; } = this.props;
if (!account) { if (!account) {
@ -114,6 +118,10 @@ class Account extends ImmutablePureComponent {
{hidingNotificationsButton} {hidingNotificationsButton}
</Fragment> </Fragment>
); );
} else if (defaultAction === 'mute') {
buttons = <IconButton icon='volume-off' title={intl.formatMessage(messages.mute, { name: account.get('username') })} onClick={this.handleMute} />;
} else if (defaultAction === 'block') {
buttons = <IconButton icon='lock' title={intl.formatMessage(messages.block, { name: account.get('username') })} onClick={this.handleBlock} />;
} else if (!account.get('moved') || following) { } else if (!account.get('moved') || following) {
buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />; buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />;
} }

View File

@ -69,7 +69,7 @@ class Blocks extends ImmutablePureComponent {
bindToDocument={!multiColumn} bindToDocument={!multiColumn}
> >
{accountIds.map(id => {accountIds.map(id =>
<AccountContainer key={id} id={id} />, <AccountContainer key={id} id={id} defaultAction='block' />,
)} )}
</ScrollableList> </ScrollableList>
</Column> </Column>

View File

@ -69,7 +69,7 @@ class Mutes extends ImmutablePureComponent {
bindToDocument={!multiColumn} bindToDocument={!multiColumn}
> >
{accountIds.map(id => {accountIds.map(id =>
<AccountContainer key={id} id={id} />, <AccountContainer key={id} id={id} defaultAction='mute' />,
)} )}
</ScrollableList> </ScrollableList>
</Column> </Column>