glitchier-soc/app/views/stream_entries/_poll.html.haml
Eugen Rochko 1321801577 Fix various issues in polls (#10165)
* 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
2019-03-05 03:51:18 +01:00

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