ActionBar: fix repost active state, fixes #936
This commit is contained in:
parent
5e9c81b0c1
commit
47d1a8e5d6
|
@ -636,7 +636,7 @@ class StatusActionBar extends ImmutablePureComponent<IStatusActionBar, IStatusAc
|
||||||
count={replyCount}
|
count={replyCount}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{features.quotePosts && me ? (
|
{(features.quotePosts && me) ? (
|
||||||
<DropdownMenuContainer
|
<DropdownMenuContainer
|
||||||
items={reblogMenu}
|
items={reblogMenu}
|
||||||
disabled={!publicStatus}
|
disabled={!publicStatus}
|
||||||
|
|
|
@ -522,41 +522,22 @@ class ActionBar extends React.PureComponent<IActionBar, IActionBarState> {
|
||||||
|
|
||||||
const reblog_disabled = (status.get('visibility') === 'direct' || status.get('visibility') === 'private');
|
const reblog_disabled = (status.get('visibility') === 'direct' || status.get('visibility') === 'private');
|
||||||
|
|
||||||
let reblogButton;
|
const reblogMenu: Menu = [{
|
||||||
|
text: intl.formatMessage(status.reblogged ? messages.cancel_reblog_private : messages.reblog),
|
||||||
if (me && features.quotePosts) {
|
|
||||||
const reblogMenu: Menu = [
|
|
||||||
{
|
|
||||||
text: intl.formatMessage(status.get('reblogged') ? messages.cancel_reblog_private : messages.reblog),
|
|
||||||
action: this.handleReblogClick,
|
action: this.handleReblogClick,
|
||||||
icon: require('@tabler/icons/icons/repeat.svg'),
|
icon: require('@tabler/icons/icons/repeat.svg'),
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
text: intl.formatMessage(messages.quotePost),
|
text: intl.formatMessage(messages.quotePost),
|
||||||
action: this.handleQuoteClick,
|
action: this.handleQuoteClick,
|
||||||
icon: require('@tabler/icons/icons/quote.svg'),
|
icon: require('@tabler/icons/icons/quote.svg'),
|
||||||
},
|
}];
|
||||||
];
|
|
||||||
|
|
||||||
reblogButton = (
|
const reblogButton = (
|
||||||
<DropdownMenuContainer
|
|
||||||
items={reblogMenu}
|
|
||||||
disabled={!publicStatus}
|
|
||||||
active={status.get('reblogged')}
|
|
||||||
pressed={status.get('reblogged')}
|
|
||||||
title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)}
|
|
||||||
src={reblogIcon}
|
|
||||||
text={intl.formatMessage(messages.reblog)}
|
|
||||||
onShiftClick={this.handleReblogClick}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
reblogButton = (
|
|
||||||
<IconButton
|
<IconButton
|
||||||
disabled={reblog_disabled}
|
disabled={reblog_disabled}
|
||||||
className={classNames({
|
className={classNames({
|
||||||
'text-gray-400 hover:text-gray-600': !status.get('reblogged'),
|
'text-gray-400 hover:text-gray-600': !status.reblogged,
|
||||||
'text-success-600 hover:text-success-600': status.get('reblogged'),
|
'text-success-600 hover:text-success-600': status.reblogged,
|
||||||
})}
|
})}
|
||||||
title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)}
|
title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)}
|
||||||
src={reblogIcon}
|
src={reblogIcon}
|
||||||
|
@ -564,7 +545,6 @@ class ActionBar extends React.PureComponent<IActionBar, IActionBarState> {
|
||||||
text={intl.formatMessage(messages.reblog)}
|
text={intl.formatMessage(messages.reblog)}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<HStack justifyContent='between'>
|
<HStack justifyContent='between'>
|
||||||
|
@ -576,7 +556,17 @@ class ActionBar extends React.PureComponent<IActionBar, IActionBarState> {
|
||||||
text={intl.formatMessage(messages.reply)}
|
text={intl.formatMessage(messages.reply)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
{(features.quotePosts && me) ? (
|
||||||
|
<DropdownMenuContainer
|
||||||
|
items={reblogMenu}
|
||||||
|
disabled={!publicStatus}
|
||||||
|
onShiftClick={this.handleReblogClick}
|
||||||
|
>
|
||||||
{reblogButton}
|
{reblogButton}
|
||||||
|
</DropdownMenuContainer>
|
||||||
|
) : (
|
||||||
|
reblogButton
|
||||||
|
)}
|
||||||
|
|
||||||
{features.emojiReacts ? (
|
{features.emojiReacts ? (
|
||||||
<EmojiButtonWrapper statusId={status.id}>
|
<EmojiButtonWrapper statusId={status.id}>
|
||||||
|
|
Loading…
Reference in New Issue