[Glitch] Fix vote checkmark in poll results
Port b0cda7a504 to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
			
			
This commit is contained in:
		
							parent
							
								
									8a63d659ac
								
							
						
					
					
						commit
						98cc81c0e2
					
				
					 2 changed files with 10 additions and 9 deletions
				
			
		|  | @ -14,6 +14,7 @@ import Icon from 'flavours/glitch/components/icon'; | ||||||
| 
 | 
 | ||||||
| const messages = defineMessages({ | const messages = defineMessages({ | ||||||
|   closed: { id: 'poll.closed', defaultMessage: 'Closed' }, |   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) => { | const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => { | ||||||
|  | @ -100,11 +101,11 @@ class Poll extends ImmutablePureComponent { | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   renderOption (option, optionIndex, showResults) { |   renderOption (option, optionIndex, showResults) { | ||||||
|     const { poll, disabled } = this.props; |     const { poll, disabled, intl } = this.props; | ||||||
|     const percent            = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100; |     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 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 active  = !!this.state.selected[`${optionIndex}`]; | ||||||
|     const voted              = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex)); |     const voted   = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex)); | ||||||
| 
 | 
 | ||||||
|     let titleEmojified = option.get('title_emojified'); |     let titleEmojified = option.get('title_emojified'); | ||||||
|     if (!titleEmojified) { |     if (!titleEmojified) { | ||||||
|  | @ -134,7 +135,7 @@ class Poll extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|           {!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />} |           {!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />} | ||||||
|           {showResults && <span className='poll__number'> |           {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)}% |             {Math.round(percent)}% | ||||||
|           </span>} |           </span>} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -102,18 +102,18 @@ | ||||||
| 
 | 
 | ||||||
|   &__number { |   &__number { | ||||||
|     display: inline-block; |     display: inline-block; | ||||||
|     width: 48px; |     width: 52px; | ||||||
|     font-weight: 700; |     font-weight: 700; | ||||||
|     padding: 0 10px; |     padding: 0 10px; | ||||||
|  |     padding-left: 8px; | ||||||
|     text-align: right; |     text-align: right; | ||||||
|     margin-top: auto; |     margin-top: auto; | ||||||
|     margin-bottom: auto; |     margin-bottom: auto; | ||||||
|     flex: 0 0 48px; |     flex: 0 0 52px; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &__vote__mark { |   &__vote__mark { | ||||||
|     float: left; |     float: left; | ||||||
|     color: $valid-value-color; |  | ||||||
|     line-height: 18px; |     line-height: 18px; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue