Fix janky IconButton (Compose issues) and restore lock/envelope icon for un-repostable posts

profile-avatar-switcher
Alex Gleason 2021-09-21 10:25:36 -05:00
rodzic 29fe9b40b6
commit 9b0e1218c9
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
2 zmienionych plików z 13 dodań i 7 usunięć

Wyświetl plik

@ -11,8 +11,8 @@ export default class IconButton extends React.PureComponent {
static propTypes = {
className: PropTypes.string,
title: PropTypes.string.isRequired,
icon: PropTypes.string.isRequired,
iconset: PropTypes.string,
icon: PropTypes.string,
src: PropTypes.string,
onClick: PropTypes.func,
onMouseDown: PropTypes.func,
onKeyUp: PropTypes.func,
@ -98,7 +98,7 @@ export default class IconButton extends React.PureComponent {
disabled,
expanded,
icon,
iconset,
src,
inverted,
overlay,
pressed,
@ -106,7 +106,6 @@ export default class IconButton extends React.PureComponent {
title,
text,
emoji,
...rest
} = this.props;
const classes = classNames(className, 'icon-button', {
@ -139,7 +138,7 @@ export default class IconButton extends React.PureComponent {
<div style={style}>
{emoji
? <div className='icon-button__emoji' dangerouslySetInnerHTML={{ __html: emojify(emoji) }} aria-hidden='true' />
: <Icon id={icon} {...rest} aria-hidden='true' />}
: <Icon id={icon} src={src} fixedWidth aria-hidden='true' />}
</div>
{text && <span className='icon_button__text'>{text}</span>}
</button>
@ -168,7 +167,7 @@ export default class IconButton extends React.PureComponent {
<div style={style}>
{emoji
? <div className='icon-button__emoji' style={{ transform: `rotate(${rotate}deg)` }} dangerouslySetInnerHTML={{ __html: emojify(emoji) }} aria-hidden='true' />
: <Icon id={icon} {...rest} style={{ transform: `rotate(${rotate}deg)` }} aria-hidden='true' />}
: <Icon id={icon} src={src} style={{ transform: `rotate(${rotate}deg)` }} fixedWidth aria-hidden='true' />}
</div>
{text && <span className='icon_button__text'>{text}</span>}
</button>

Wyświetl plik

@ -401,8 +401,15 @@ class StatusActionBar extends ImmutablePureComponent {
}[meEmojiReact] || messages.favourite);
const menu = this._makeMenu(publicStatus);
let reblogIcon = require('feather-icons/dist/icons/repeat.svg');
let replyTitle;
if (status.get('visibility') === 'direct') {
reblogIcon = require('@tabler/icons/icons/mail.svg');
} else if (status.get('visibility') === 'private') {
reblogIcon = require('@tabler/icons/icons/lock.svg');
}
if (status.get('in_reply_to_id', null) === null) {
replyTitle = intl.formatMessage(messages.reply);
} else {
@ -420,7 +427,7 @@ class StatusActionBar extends ImmutablePureComponent {
{replyCount !== 0 && <Link to={`/@${status.getIn(['account', 'acct'])}/posts/${status.get('id')}`} className='detailed-status__link'>{replyCount}</Link>}
</div>
<div className='status__action-bar__counter'>
<IconButton className='status__action-bar-button' disabled={!publicStatus} active={status.get('reblogged')} pressed={status.get('reblogged')} title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} src={require('feather-icons/dist/icons/repeat.svg')} onClick={this.handleReblogClick} />
<IconButton className='status__action-bar-button' disabled={!publicStatus} active={status.get('reblogged')} pressed={status.get('reblogged')} title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} src={reblogIcon} onClick={this.handleReblogClick} />
{reblogCount !== 0 && <Link to={`/@${status.getIn(['account', 'acct'])}/posts/${status.get('id')}/reblogs`} className='detailed-status__link'>{reblogCount}</Link>}
</div>
<div