Add non-JS fallback for polls on public pages (#10155)
parent
4ced609497
commit
3de71887d8
@ -0,0 +1,25 @@
|
||||
- options = (!poll.expired? && poll.hide_totals?) ? poll.unloaded_options : poll.loaded_options
|
||||
- voted = poll.votes.where(account: current_user.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
|
||||
= 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)
|
||||
·
|
||||
%span= poll.expires_at
|
Loading…
Reference in new issue