* Immediately display poll results to poll author * Refactor Poll#loaded_options and add Poll#voted? to improve DRYness
		
			
				
	
	
		
			28 lines
		
	
	
		
			854 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			854 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
- show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
 | 
						|
 | 
						|
.poll
 | 
						|
  %ul
 | 
						|
    - poll.loaded_options.each do |option|
 | 
						|
      %li
 | 
						|
        - if show_results
 | 
						|
          - percent = poll.votes_count > 0 ? 100 * option.votes_count / poll.votes_count : 0
 | 
						|
          %span.poll__chart{ style: "width: #{percent}%" }
 | 
						|
 | 
						|
          %label.poll__text><
 | 
						|
            %span.poll__number= percent.round
 | 
						|
            = option.title
 | 
						|
        - else
 | 
						|
          %label.poll__text><
 | 
						|
            %span.poll__input{ class: poll.multiple? ? 'checkbox' : nil}><
 | 
						|
            = option.title
 | 
						|
  .poll__footer
 | 
						|
    - unless show_results
 | 
						|
      %button.button.button-secondary{ disabled: true }
 | 
						|
        = t('statuses.poll.vote')
 | 
						|
 | 
						|
    %span= t('statuses.poll.total_votes', count: poll.votes_count)
 | 
						|
 | 
						|
    - unless poll.expires_at.nil?
 | 
						|
      ·
 | 
						|
      %span= l poll.expires_at
 |