[Glitch] Add voters count support
Port front-end changes from f088e090e4 to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
			
			
This commit is contained in:
		
							parent
							
								
									6e8131d46c
								
							
						
					
					
						commit
						1aa14b5873
					
				
					 1 changed files with 14 additions and 5 deletions
				
			
		|  | @ -102,7 +102,8 @@ class Poll extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   renderOption (option, optionIndex, showResults) { |   renderOption (option, optionIndex, showResults) { | ||||||
|     const { poll, disabled, intl } = 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 pollVotesCount  = poll.get('voters_count') || poll.get('votes_count'); | ||||||
|  |     const percent         = pollVotesCount === 0 ? 0 : (option.get('votes_count') / pollVotesCount) * 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)); | ||||||
|  | @ -157,6 +158,14 @@ class Poll extends ImmutablePureComponent { | ||||||
|     const showResults   = poll.get('voted') || expired; |     const showResults   = poll.get('voted') || expired; | ||||||
|     const disabled      = this.props.disabled || Object.entries(this.state.selected).every(item => !item); |     const disabled      = this.props.disabled || Object.entries(this.state.selected).every(item => !item); | ||||||
| 
 | 
 | ||||||
|  |     let votesCount = null; | ||||||
|  | 
 | ||||||
|  |     if (poll.get('voters_count') !== null && poll.get('voters_count') !== undefined) { | ||||||
|  |       votesCount = <FormattedMessage id='poll.total_people' defaultMessage='{count, plural, one {# person} other {# people}}' values={{ count: poll.get('voters_count') }} />; | ||||||
|  |     } else { | ||||||
|  |       votesCount = <FormattedMessage id='poll.total_votes' defaultMessage='{count, plural, one {# vote} other {# votes}}' values={{ count: poll.get('votes_count') }} />; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return ( |     return ( | ||||||
|       <div className='poll'> |       <div className='poll'> | ||||||
|         <ul> |         <ul> | ||||||
|  | @ -166,7 +175,7 @@ class Poll extends ImmutablePureComponent { | ||||||
|         <div className='poll__footer'> |         <div className='poll__footer'> | ||||||
|           {!showResults && <button className='button button-secondary' disabled={disabled} onClick={this.handleVote}><FormattedMessage id='poll.vote' defaultMessage='Vote' /></button>} |           {!showResults && <button className='button button-secondary' disabled={disabled} onClick={this.handleVote}><FormattedMessage id='poll.vote' defaultMessage='Vote' /></button>} | ||||||
|           {showResults && !this.props.disabled && <span><button className='poll__link' onClick={this.handleRefresh}><FormattedMessage id='poll.refresh' defaultMessage='Refresh' /></button> · </span>} |           {showResults && !this.props.disabled && <span><button className='poll__link' onClick={this.handleRefresh}><FormattedMessage id='poll.refresh' defaultMessage='Refresh' /></button> · </span>} | ||||||
|           <FormattedMessage id='poll.total_votes' defaultMessage='{count, plural, one {# vote} other {# votes}}' values={{ count: poll.get('votes_count') }} /> |           {votesCount} | ||||||
|           {poll.get('expires_at') && <span> · {timeRemaining}</span>} |           {poll.get('expires_at') && <span> · {timeRemaining}</span>} | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue