Fix vote checkmark in poll results (#11990)
This commit is contained in:
		
							parent
							
								
									50af41a00d
								
							
						
					
					
						commit
						b0cda7a504
					
				
					 2 changed files with 10 additions and 9 deletions
				
			
		|  | @ -14,6 +14,7 @@ import Icon from 'mastodon/components/icon'; | |||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   closed: { id: 'poll.closed', defaultMessage: 'Closed' }, | ||||
|   voted: { id: 'poll.voted', defaultMessage: 'You voted for this answer', description: 'Tooltip of the "voted" checkmark in polls' }, | ||||
| }); | ||||
| 
 | ||||
| const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => { | ||||
|  | @ -100,11 +101,11 @@ class Poll extends ImmutablePureComponent { | |||
|   }; | ||||
| 
 | ||||
|   renderOption (option, optionIndex, showResults) { | ||||
|     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 voted              = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex)); | ||||
|     const { poll, disabled, intl } = 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 voted   = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex)); | ||||
| 
 | ||||
|     let titleEmojified = option.get('title_emojified'); | ||||
|     if (!titleEmojified) { | ||||
|  | @ -134,7 +135,7 @@ class Poll extends ImmutablePureComponent { | |||
| 
 | ||||
|           {!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />} | ||||
|           {showResults && <span className='poll__number'> | ||||
|             {!!voted && <Icon id='check' className='poll__vote__mark' />} | ||||
|             {!!voted && <Icon id='check' className='poll__vote__mark' title={intl.formatMessage(messages.voted)} />} | ||||
|             {Math.round(percent)}% | ||||
|           </span>} | ||||
| 
 | ||||
|  |  | |||
|  | @ -95,18 +95,18 @@ | |||
| 
 | ||||
|   &__number { | ||||
|     display: inline-block; | ||||
|     width: 48px; | ||||
|     width: 52px; | ||||
|     font-weight: 700; | ||||
|     padding: 0 10px; | ||||
|     padding-left: 8px; | ||||
|     text-align: right; | ||||
|     margin-top: auto; | ||||
|     margin-bottom: auto; | ||||
|     flex: 0 0 48px; | ||||
|     flex: 0 0 52px; | ||||
|   } | ||||
| 
 | ||||
|   &__vote__mark { | ||||
|     float: left; | ||||
|     color: $valid-value-color; | ||||
|     line-height: 18px; | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
		Reference in a new issue