~cytrogen/masto-fe

ref: 86c9c5afa045b9e2cfa41c15db63ad97d58954c1 masto-fe/app/views/statuses/_poll.html.haml -rw-r--r-- 1.5 KiB
86c9c5af — Claire Merge commit '40ba6e119b7457161fd43b449875d0fb9d473c1a' into glitch-soc/merge-upstream 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
:ruby
  show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
  own_votes = user_signed_in? ? poll.own_votes(current_account) : []
  total_votes_count = poll.voters_count || poll.votes_count

.poll
  %ul
    - poll.loaded_options.each_with_index do |option, index|
      %li
        - if show_results
          - percent = total_votes_count.positive? ? 100 * option.votes_count / total_votes_count : 0
          %label.poll__option><
            %span.poll__number><
              = "#{percent.round}%"
            %span.poll__option__text
              = prerender_custom_emojis(h(option.title), status.emojis)
            - if own_votes.include?(index)
              %span.poll__voted
                %i.poll__voted__mark.fa.fa-check

          %progress{ max: 100, value: [percent, 1].max, 'aria-hidden': 'true' }
            %span.poll__chart
        - else
          %label.poll__option><
            %span.poll__input{ class: poll.multiple? ? 'checkbox' : nil }><
            %span.poll__option__text
              = prerender_custom_emojis(h(option.title), status.emojis)
  .poll__footer
    - unless show_results
      %button.button.button-secondary{ disabled: true }
        = t('statuses.poll.vote')

    - if poll.voters_count.nil?
      %span= t('statuses.poll.total_votes', count: poll.votes_count)
    - else
      %span= t('statuses.poll.total_people', count: poll.voters_count)

    - unless poll.expires_at.nil?
      ·
      %span= l poll.expires_at