diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-08-22 13:17:21 +0200 |
---|---|---|
committer | ThibG <thib@sitedethib.com> | 2018-08-22 20:29:55 +0200 |
commit | 3c49daeb8d93010dc072de82e06a016bac7dbf16 (patch) | |
tree | b1900ab94c2f0972b414b4d1759eda51cec45d2c /app/javascript/flavours/glitch/components/status_action_bar.js | |
parent | d62ea55d51ab487d792f99209b98abcdeac218f2 (diff) |
Add glitch-soc local setting to display reply counters
Defaults to false.
Diffstat (limited to 'app/javascript/flavours/glitch/components/status_action_bar.js')
-rw-r--r-- | app/javascript/flavours/glitch/components/status_action_bar.js | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/app/javascript/flavours/glitch/components/status_action_bar.js b/app/javascript/flavours/glitch/components/status_action_bar.js index 70aada0e9..8a840030a 100644 --- a/app/javascript/flavours/glitch/components/status_action_bar.js +++ b/app/javascript/flavours/glitch/components/status_action_bar.js @@ -66,6 +66,7 @@ export default class StatusActionBar extends ImmutablePureComponent { onPin: PropTypes.func, onBookmark: PropTypes.func, withDismiss: PropTypes.bool, + showReplyCount: PropTypes.bool, intl: PropTypes.object.isRequired, }; @@ -73,6 +74,7 @@ export default class StatusActionBar extends ImmutablePureComponent { // evaluate to false. See react-immutable-pure-component for usage. updateOnProps = [ 'status', + 'showReplyCount', 'withDismiss', ] @@ -144,7 +146,7 @@ export default class StatusActionBar extends ImmutablePureComponent { } render () { - const { status, intl, withDismiss } = this.props; + const { status, intl, withDismiss, showReplyCount } = this.props; const mutingConversation = status.get('muted'); const anonymousAccess = !me; @@ -198,12 +200,27 @@ export default class StatusActionBar extends ImmutablePureComponent { <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShareClick} /> ); - return ( - <div className='status__action-bar'> + let replyButton = ( + <IconButton + className='status__action-bar-button' + disabled={anonymousAccess} + title={replyTitle} + icon={replyIcon} + onClick={this.handleReplyClick} + /> + ); + if (showReplyCount) { + replyButton = ( <div className='status__action-bar__counter'> - <IconButton className='status__action-bar-button' disabled={anonymousAccess} title={replyTitle} icon={replyIcon} onClick={this.handleReplyClick} /> + {replyButton} <span className='status__action-bar__counter__label' >{obfuscatedCount(status.get('replies_count'))}</span> </div> + ); + } + + return ( + <div className='status__action-bar'> + {replyButton} <IconButton className='status__action-bar-button' disabled={reblogDisabled} active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogDisabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(reblogMessage)} icon={reblogIcon} onClick={this.handleReblogClick} /> <IconButton className='status__action-bar-button star-icon' disabled={anonymousAccess} animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /> {shareButton} |