You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
40 lines
1.5 KiB
: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
|
|
|