67 lines
2.5 KiB
HTML
67 lines
2.5 KiB
HTML
{% from 'moderator.html' import moderate_comment with context -%}
|
|
|
|
{%- macro author(id, name, ctime, mtime) -%}
|
|
<i><a href="{{ url_for('user_info', user_id = id) }}">{{ name }}</a> - {{ format_since(ctime) }}{% if ctime != mtime %} (last modified {{ format_since(mtime) }}){% endif %}</i>
|
|
{%- endmacro -%}
|
|
|
|
{%- macro comment_author(comment, thread_id, can_delete) -%}
|
|
<span class=small>
|
|
{{- '[hidden]' if comment.hidden else '' }}
|
|
{{ author(comment.author_id, comment.author, comment.create_time, comment.modify_time) }} |
|
|
{# Suffixing a # prevents unnecessary reloads #}
|
|
<a href="{{ url_for('thread', thread_id = thread_id) }}#"> thread</a>
|
|
{%- if comment.parent_id is not none -%}
|
|
<a href="{{ url_for('comment', comment_id = comment.parent_id) }}#"> parent</a>
|
|
{%- endif -%}
|
|
{%- if user is not none and (comment.author_id == user.id or user.is_moderator()) and not user.is_banned() -%}
|
|
<a href="{{ url_for('edit_comment', comment_id = comment.id) }}"> edit</a>
|
|
{%- if can_delete -%}
|
|
<a href="{{ url_for('confirm_delete_comment', comment_id = comment.id) }}"> delete</a>
|
|
{%- endif -%}
|
|
{%- if user.is_moderator() -%}
|
|
{{ moderate_comment(comment.id, comment.hidden) }}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
</span>
|
|
{%- endmacro -%}
|
|
|
|
{%- macro thread_author(author_id, name, ctime, mtime) -%}
|
|
<span class=small>
|
|
{{- author(author_id, name, ctime, mtime) -}}
|
|
{%- if user is not none and (author_id == user.id or user.is_moderator()) and not user.is_banned() -%}
|
|
<a href="{{ url_for('edit_thread', thread_id = thread_id) }}"> edit</a>
|
|
<a href="{{ url_for('confirm_delete_thread', thread_id = thread_id) }}"> delete</a>
|
|
{%- endif -%}
|
|
</span>
|
|
{%- endmacro -%}
|
|
|
|
{%- macro render_comment_pre(comment, thread_id, can_delete) -%}
|
|
<div class=comment>
|
|
{{- comment_author(comment, thread_id, can_delete) -}}
|
|
<input type=checkbox class="collapse small">
|
|
<div>{{- minimd(comment.text) | safe -}}
|
|
{%- endmacro -%}
|
|
|
|
{%- macro render_comment_post(comment, thread_id) -%}
|
|
{%- for c in comment.children -%}
|
|
{{- render_comment(c, thread_id) -}}
|
|
{%- endfor -%}
|
|
</div>
|
|
</div>
|
|
{%- endmacro -%}
|
|
|
|
{%- macro render_comment(comment, thread_id) -%}
|
|
{{- render_comment_pre(comment, thread_id, comment.children | length == 0) -}}
|
|
<sup><a href="{{ url_for("comment", comment_id = comment.id) }}">reply</a></sup>
|
|
{{- render_comment_post(comment, thread_id) -}}
|
|
{%- endmacro -%}
|
|
|
|
{%- macro reply() -%}
|
|
{%- if user is not none and not user.is_banned() -%}
|
|
<form method="post" action="comment/">
|
|
<p><textarea name="text"></textarea></p>
|
|
<p><input type="submit" value="Post comment"></p>
|
|
</form>
|
|
{%- endif -%}
|
|
{%- endmacro -%}
|