diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-05-18 14:41:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-18 14:41:16 +0200 |
commit | 6fe474837c6454ebd03ba7fa0c845a2dde5734d1 (patch) | |
tree | 06778574dcba5e3a9d0e581af2981e883af517bf /app/javascript/mastodon/components/poll.js | |
parent | 2c12620adb9d634189b7c3aed791ca8695562a7f (diff) |
Change poll options to alphabetic letters when status text is hidden (#10685)
Fix #10569
Diffstat (limited to 'app/javascript/mastodon/components/poll.js')
-rw-r--r-- | app/javascript/mastodon/components/poll.js | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/app/javascript/mastodon/components/poll.js b/app/javascript/mastodon/components/poll.js index 690f9ae5a..acab107a1 100644 --- a/app/javascript/mastodon/components/poll.js +++ b/app/javascript/mastodon/components/poll.js @@ -28,6 +28,7 @@ class Poll extends ImmutablePureComponent { intl: PropTypes.object.isRequired, dispatch: PropTypes.func, disabled: PropTypes.bool, + visible: PropTypes.bool, }; state = { @@ -69,13 +70,14 @@ class Poll extends ImmutablePureComponent { }; renderOption (option, optionIndex) { - const { poll, disabled } = this.props; - const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100; - const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count')); - const active = !!this.state.selected[`${optionIndex}`]; - const showResults = poll.get('voted') || poll.get('expired'); + const { poll, disabled, visible } = this.props; + const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100; + const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count')); + const active = !!this.state.selected[`${optionIndex}`]; + const showResults = poll.get('voted') || poll.get('expired'); let titleEmojified = option.get('title_emojified'); + if (!titleEmojified) { const emojiMap = makeEmojiMap(poll); titleEmojified = emojify(escapeTextContentForBrowser(option.get('title')), emojiMap); @@ -104,7 +106,7 @@ class Poll extends ImmutablePureComponent { {!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />} {showResults && <span className='poll__number'>{Math.round(percent)}%</span>} - <span dangerouslySetInnerHTML={{ __html: titleEmojified }} /> + {visible ? <span dangerouslySetInnerHTML={{ __html: titleEmojified }} /> : <span>{String.fromCharCode(64 + optionIndex + 1)}</span>} </label> </li> ); |