forked from asonix/mastodon
* Fix ActivityPub poll results being serialized even with hide_totals * Fix poll refresh button having a different font size * Display poll in OpenGraph description * Fix NoMethodError when serializing votes Regression from #10158 * Fix polls on public pages being broken for non-logged-in users * Do not show time remaining if poll has no expiration date
29 lines
959 B
Text
29 lines
959 B
Text
- options = (!poll.expired? && poll.hide_totals?) ? poll.unloaded_options : poll.loaded_options
|
|
- voted = user_signed_in? && poll.votes.where(account: current_account).exists?
|
|
- show_results = voted || poll.expired?
|
|
|
|
.poll
|
|
%ul
|
|
- options.each do |option|
|
|
%li
|
|
- if show_results
|
|
- percent = 100 * option.votes_count / poll.votes_count
|
|
%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
|