2023-07-18 17:25:37 +10:00
|
|
|
:ruby
|
|
|
|
show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
|
|
|
|
total_votes_count = poll.voters_count || poll.votes_count
|
2019-03-05 04:03:12 +11:00
|
|
|
|
|
|
|
.poll
|
|
|
|
%ul
|
2024-08-22 01:55:35 +10:00
|
|
|
- poll.loaded_options.each do |option|
|
2019-03-05 04:03:12 +11:00
|
|
|
%li
|
|
|
|
- if show_results
|
2023-07-20 23:13:06 +10:00
|
|
|
- percent = total_votes_count.positive? ? 100 * option.votes_count / total_votes_count : 0
|
2020-04-03 02:10:55 +11:00
|
|
|
%label.poll__option><
|
2019-09-22 22:15:18 +10:00
|
|
|
%span.poll__number><
|
2023-10-25 23:01:00 +11:00
|
|
|
#{percent.round}%
|
2020-04-08 02:21:58 +10:00
|
|
|
%span.poll__option__text
|
2022-03-26 12:53:34 +11:00
|
|
|
= prerender_custom_emojis(h(option.title), status.emojis)
|
2020-04-03 02:10:55 +11:00
|
|
|
|
2023-07-17 23:38:04 +10:00
|
|
|
%progress{ max: 100, value: [percent, 1].max, 'aria-hidden': 'true' }
|
2020-04-28 18:16:55 +10:00
|
|
|
%span.poll__chart
|
2019-03-05 04:03:12 +11:00
|
|
|
- else
|
2020-04-03 02:10:55 +11:00
|
|
|
%label.poll__option><
|
2023-03-15 14:15:36 +11:00
|
|
|
%span.poll__input{ class: poll.multiple? ? 'checkbox' : nil }><
|
2020-04-08 02:21:58 +10:00
|
|
|
%span.poll__option__text
|
2022-03-26 12:53:34 +11:00
|
|
|
= prerender_custom_emojis(h(option.title), status.emojis)
|
2019-03-05 04:03:12 +11:00
|
|
|
.poll__footer
|
|
|
|
- unless show_results
|
|
|
|
%button.button.button-secondary{ disabled: true }
|
|
|
|
= t('statuses.poll.vote')
|
2019-03-05 13:51:18 +11:00
|
|
|
|
2019-09-30 06:58:01 +10:00
|
|
|
- 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)
|
2019-03-05 13:51:18 +11:00
|
|
|
|
|
|
|
- unless poll.expires_at.nil?
|
|
|
|
·
|
|
|
|
%span= l poll.expires_at
|