post.html
HTML document, ASCII text
1<dl> 2<dt> 3<article class="card"> 4<section class="card-main"> 5<p class="post-details"><a href="/{{ post.owner.username }}" class="post-author">{{ post.owner.username }}</a> • {{ post.date | strftime("%A, %e %B %Y, %H:%M:%S") }}</p> 6{% if level %} 7<h2><a href="{{ post.number }}">{{ post.subject }}</a> <span class="post-number">#{{ post.number }}</span></h2> 8{% else %} 9<h2>{{ post.subject }} <span class="post-number">#{{ post.number }}</span></h2> 10{% endif %} 11{% if not post.parent %} 12<dialog id="add-label"> 13<article class="card"> 14<section class="card-main"> 15<form method="dialog" id="close-add-label"></form> 16<form method="POST" action="{{ post.number }}/label"> 17<x-vbox> 18<label> 19{% trans %}Label to add:{% endtrans %} 20<select name="label"> 21{% for label in repo_data.labels %} 22<option value="{{ label.identifier }}">{{ label.name }}</option> 23{% endfor %} 24</select> 25</label> 26<x-buttonbox> 27<button type="submit">{% trans %}Add label{% endtrans %}</button> 28<button type="submit" form="close-add-label">{% trans %}Cancel{% endtrans %}</button> 29</x-buttonbox> 30</x-vbox> 31</form> 32</section> 33</article> 34</dialog> 35 36<x-hbox class="post-labels box-center"> 37{% for label in post.labels %} 38{% if get_permission_level(logged_in_user, username, repository) %} 39<a href="{{ post.number }}/remove-label?label={{ label.label.identifier }}" class="post-label removable" style="background-color: {{ label.label.colour_hex }};">{{ label.label.name }}</a> 40{% else %} 41<span class="post-label" style="background-color: {{ label.label.colour_hex }};">{{ label.label.name }}</span> 42{% endif %} 43{% endfor %} 44{% if get_permission_level(logged_in_user, username, repository) %} 45<button class="button-flat" onclick="document.getElementById('add-label').showModal();" title="{% trans %}Add a label{% endtrans %}"> 46<iconify-icon icon="mdi:plus"></iconify-icon> 47</button> 48{% endif %} 49</x-hbox> 50{% endif %} 51<p> 52{{ post.html | safe }} 53</p> 54{% if logged_in_user %} 55<x-buttonbox> 56<x-buttonbox class="box-center segmented"> 57<button onclick="vote({{ post.number }}, 1);" class="vote-button big-button" id="{{ post.number }}-voteup"><iconify-icon icon="mdi:arrow-up"></iconify-icon></button> 58<span style="font-size: 1.5em;" class="vote-score" id="{{ post.number }}-vote">{{ post.voteSum }}</span> 59<button onclick="vote({{ post.number }}, -1);" class="vote-button big-button" id="{{ post.number }}-votedown"><iconify-icon icon="mdi:arrow-down"></iconify-icon></button> 60<script>vote({{ post.number }}, 0);</script> 61</x-buttonbox> 62{% if post.owner_name == logged_in_user %} 63<a class="button" href="{{ post.number }}/edit">{% trans %}Edit{% endtrans %}</a> 64{% endif %} 65</x-buttonbox> 66{% endif %} 67</section> 68</article> 69</dt> 70{% if logged_in_user %} 71<dd> 72<details class="reply-area"> 73<summary>{% trans %}Reply{% endtrans %}</summary> 74 75<form method="POST" action="{{ post.number }}/reply"> 76<x-vbox> 77<x-vbox class="nopad"> 78<label for="{{ post.number }}-subject">{% trans %}Subject{% endtrans %}</label> 79<input id="{{ post.number }}-subject" name="subject" value="Re: {{ post.subject }}" required> 80</x-vbox> 81<textarea name="message" style="box-sizing: border-box;" rows="8" required></textarea> 82<x-buttonbox> 83<button type="submit">{% trans %}Submit{% endtrans %}</button> 84</x-buttonbox> 85</x-vbox> 86</form> 87</details> 88</dd> 89{% endif %} 90{% set level = level + 1 %} 91{% if level <= max_post_nesting %} 92{% if post.children %} 93{% for post in Post.query.filter_by(parent=post).order_by(Post.date) %} 94<dd>{% include "post.html" %}</dd> 95{% endfor %} 96{% endif %} 97{% elif post.children %} 98<dd> 99<a href="{{ post.number }}">{% trans %}Comments hidden; click to go deeper.{% endtrans %}</a> 100</dd> 101{% endif %} 102</dl> 103