Change poll options to alphabetic letters when status text is hidden (#10685)
Fix #10569
This commit is contained in:
		
							parent
							
								
									2c12620adb
								
							
						
					
					
						commit
						6fe474837c
					
				
					 3 changed files with 10 additions and 8 deletions
				
			
		|  | @ -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> | ||||
|     ); | ||||
|  |  | |||
|  | @ -272,7 +272,7 @@ class Status extends ImmutablePureComponent { | |||
|     } | ||||
| 
 | ||||
|     if (status.get('poll')) { | ||||
|       media = <PollContainer pollId={status.get('poll')} />; | ||||
|       media = <PollContainer pollId={status.get('poll')} visible={!status.get('hidden')} />; | ||||
|     } else if (status.get('media_attachments').size > 0) { | ||||
|       if (this.props.muted) { | ||||
|         media = ( | ||||
|  |  | |||
|  | @ -106,7 +106,7 @@ export default class DetailedStatus extends ImmutablePureComponent { | |||
|     } | ||||
| 
 | ||||
|     if (status.get('poll')) { | ||||
|       media = <PollContainer pollId={status.get('poll')} />; | ||||
|       media = <PollContainer pollId={status.get('poll')} visible={!status.get('hidden')} />; | ||||
|     } else if (status.get('media_attachments').size > 0) { | ||||
|       if (status.getIn(['media_attachments', 0, 'type']) === 'video') { | ||||
|         const video = status.getIn(['media_attachments', 0]); | ||||
|  |  | |||
		Reference in a new issue