about summary refs log tree commit diff
path: root/app/views/stream_entries/_poll.html.haml
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-03-04 18:03:12 +0100
committerEugen Rochko <eugen@zeonfederated.com>2019-03-04 18:03:12 +0100
commit3de71887d849103ed62e8b04b54c630763881010 (patch)
tree0e8d784434229a474d11b02af9b220e94a92b426 /app/views/stream_entries/_poll.html.haml
parent4ced609497bc736cb2b1aec921ba5ca7a23a7f53 (diff)
Add non-JS fallback for polls on public pages (#10155)
Diffstat (limited to 'app/views/stream_entries/_poll.html.haml')
-rw-r--r--app/views/stream_entries/_poll.html.haml25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/views/stream_entries/_poll.html.haml b/app/views/stream_entries/_poll.html.haml
new file mode 100644
index 000000000..974aff9bd
--- /dev/null
+++ b/app/views/stream_entries/_poll.html.haml
@@ -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