Improve poll/question support

This commit is contained in:
Thomas Sileo
2019-07-04 23:22:38 +02:00
parent 6af6215082
commit 0b3d4251de
5 changed files with 115 additions and 86 deletions

View File

@@ -35,6 +35,7 @@
{% if request.args.get("question") == "1" %}
<div style="margin-top:20px;">
<p>Open for: <select name="open_for">
<option value="1">1 minutes</option>
<option value="30">30 minutes</option>
<option value="60">1 hour</option>
<option value="360">6 hour</option>

View File

@@ -12,7 +12,6 @@
{% if item | has_type('Create') %}
{{ utils.display_note(item.activity.object, ui=True, meta=item.meta) }}
{% else %}
{% if item | has_type('Announce') %}
{% set boost_actor = item.meta.actor %}
{% if boost_actor %}
@@ -55,6 +54,13 @@
{% endif %}
{% else %}
{% if item | has_type('question_ended') %}
<p style="margin-left:70px;padding-bottom:5px;"><span class="bar-item-no-hover">poll ended</span></p>
{{ utils.display_note(item.activity.object) }}
{% endif %}
{% endif %}
{% endfor %}

View File

@@ -76,7 +76,7 @@
{% elif obj | has_type('Question') %}
{{ obj.content | clean | safe }}
{% if obj.id | is_from_outbox or obj.closed or meta.voted_for %}
<ul style="list-style:none;padding:0;">
{% set total_votes = obj | get_total_answers_count(meta) %}
{% for oneOf in obj.oneOf %}
@@ -86,10 +86,19 @@
{% set pct = cnt * 100.0 / total_votes %}
{% endif %}
<li class="answer">
{% if not meta.voted_for and not (real_end_time | gtnow) and not (obj.id | is_from_outbox) %}
<span><form action="/api/vote" class="action-form" method="POST">
<input type="hidden" name="redirect" value="{{ redir }}">
<input type="hidden" name="id" value="{{ obj.id }}">
<input type="hidden" name="choice" value="{{ oneOf.name }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<button type="submit" class="bar-item">vote</button>
</form></span>{% endif %}
<span class="answer-bar color-menu-background" style="width:{{pct}}%;"></span>
<span class="answer-text">
<span>{{ '%0.0f'| format(pct) }}%</span>
{{ oneOf.name }}
{{ oneOf.name }} {% if oneOf.name == meta.voted_for %}(your vote){% endif %}
</span>
</li>
{% endfor %}
@@ -101,35 +110,7 @@
Ends {{ real_end_time | format_timeago }} (<strong>{{ total_votes }}</strong> vote{% if total_votes | gtone %}s{% endif %} as of now).
{% endif %}
</small></p>
{% else %}
<ul style="list-style:none;padding:0;">
{% for oneOf in obj.oneOf %}
<li class="answer">
<span class="answer-text">
{% if not meta.voted_for and not real_end_time | gtnow %}
<span><form action="/api/vote" class="action-form" method="POST">
<input type="hidden" name="redirect" value="{{ redir }}">
<input type="hidden" name="id" value="{{ obj.id }}">
<input type="hidden" name="choice" value="{{ oneOf.name }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<button type="submit" class="bar-item">vote</button>
</form></span>
{% else %}
<span>???</span>
{% endif %}
{{ oneOf.name }} {% if oneOf.name == meta.voted_for %}(your vote){% endif %}
</span>
</li>
{% endfor %}
<p><small>{% if real_end_time | gtnow %}This question ended {{ real_end_time | format_timeago }}.</small></p>
{% else %}This question ends {{ real_end_time | format_timeago }}{% endif %}
</small></p>
</ul>
{% endif %}
{% else %}
{{ obj.content | clean | safe }}