mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-30 06:19:03 +01:00
3babf8464b
* Add voters count to polls * Add ActivityPub serialization and parsing of voters count * Add support for voters count in WebUI * Move incrementation of voters count out of redis lock * Reword “voters” to “people”
35 lines
1.3 KiB
Text
35 lines
1.3 KiB
Text
- 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 > 0 ? 100 * option.votes_count / total_votes_count : 0
|
|
%span.poll__chart{ style: "width: #{percent}%" }
|
|
|
|
%label.poll__text><
|
|
%span.poll__number><
|
|
- if own_votes.include?(index)
|
|
%i.poll__vote__mark.fa.fa-check
|
|
= percent.round
|
|
= Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
|
|
- else
|
|
%label.poll__text><
|
|
%span.poll__input{ class: poll.multiple? ? 'checkbox' : nil}><
|
|
= Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
|
|
.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
|