pyfedi/app/templates/post/add_reply_inline_result.html

137 lines
7.7 KiB
HTML

{# This file is similar to _post_reply_teaser.html except it includes the render_username macro and removes
a few things that aren't needed on brand new comments.
We need to include that macro because this template is used as part of a full page (it's an ajax response) so
it does not inherit from base.html where the macro is normally defined.
#}
{% macro render_username(user, add_domain=True, htmx_redirect_back_to=None) -%}
<span class="render_username">
{% if user.deleted -%}
{% if current_user.is_authenticated and current_user.is_admin() -%}
<a href="/u/{{ user.link() }}" title="{{ user.ap_id if user.ap_id != none else user.user_name }}" aria-label="{{ _('Author') }}">[deleted]</a>
{% else -%}
[deleted]
{% endif -%}
{% else -%}
<a href="/u/{{ user.link() }}" aria-label="{{ _('Author') }}" class="author_link" title="">
{% if user.avatar_id and not low_bandwidth and not collapsed -%}
<img src="{{ user.avatar_thumbnail() }}" alt="" loading="lazy" />
{% endif -%}
{{ user.display_name() }}{% if add_domain and not user.is_local() %}<span class="text-muted">@{{ user.ap_domain }}</span>{% endif %}
</a>
<div class="d-none user_preview" id="preview_{{ user.id }}"
{% if htmx_redirect_back_to -%}
hx-get="{{ url_for('user.user_preview', user_id=user.id, return_to=htmx_redirect_back_to) }}"
{% else %}
hx-get="{{ url_for('user.user_preview', user_id=user.id) }}"
{% endif %}
hx-trigger="intersect once"
hx-target="this"
hx-swap="innerHTML"
></div>
{% if user.created_recently() -%}
<span class="fe fe-new-account" title="New account"> </span>
{% endif -%}
{% if user.bot -%}
<span class="fe fe-bot-account" title="Bot account"> </span>
{% endif -%}
{% if user.id != current_user.id -%}
{% if user.reputation < -10 -%}
<span class="fe fe-warning red" title="Very low reputation. Beware."> </span>
<span class="fe fe-warning red" title="Very low reputation. Beware!"> </span>
{% elif user.reputation < 0 -%}
<span class="fe fe-warning orangered" title="Low reputation."> </span>
{% endif -%}
{% endif -%}
{% if current_user.is_authenticated -%}
{% set user_note = user.get_note(current_user) %}
{% if user_note -%}
<span class="user_note" title="{{ _('User note: %(note)s', note=user_note) }}">[{{ user_note | truncate(12, True) }}]</span>
{% endif -%}
{% endif -%}
{% endif -%}
</span>
{% endmacro -%}
{% set collapsed = false -%}
<div class="replies hidable" role="group" aria-live="polite">
<div class="container comment{% if post_reply.score and post_reply.score <= -10 %} low_score{% endif %}{% if post_reply.author.id == post_reply.post.author.id %} original_poster{% endif %}" id="comment_{{ post_reply.id }}"{% if post_reply.language_id and post_reply.language.code != 'en' %} lang="{{ post_reply.language.code }}"{% endif %} aria-level="{{ post_reply.depth+1 }}" role="treeitem">
<div class="row">
<div class="col-auto comment_author">
<span class="visually-hidden">by</span>
{{ render_username(post_reply.author, htmx_redirect_back_to=request.path + '#comment_' + str(post_reply.id)) }}
{% if post_reply.author.id == post_reply.post.author.id -%}
<span title="Submitter of original post" aria-label="{{ _('Post creator') }}" class="small"> [OP]</span>
{% endif -%}
</div>
<div class="col-auto text-muted small pt-05">
<time datetime="{{ arrow.get(post_reply.posted_at).format('YYYY-MM-DD HH:mm:ss ZZ') }}" title="{{ arrow.get(post_reply.posted_at).format('YYYY-MM-DD HH:mm:ss ZZ') }}">{{ arrow.get(post_reply.posted_at).humanize(locale=locale) }}</time>{% if post_reply.edited_at -%}, edited <time datetime="{{ arrow.get(post_reply.posted_at) }}" title="{{ arrow.get(post_reply.posted_at) }}">{{ arrow.get(post_reply.edited_at).humanize(locale=locale) }}</time>{% endif -%}
</div>
<div class="col-auto">
{% if post_reply.reports and current_user.is_authenticated and post_reply.post.community.is_moderator(current_user) -%}
<span class="red fe fe-report" title="{{ _('Reported. Check comment for issues.') }}"></span>
{% endif -%}
</div>
<div class="col-auto">
{% if post_reply.deleted -%}
<span class="red fe fe-delete" title="{{ _('Comment deleted') }}"></span>
{% endif -%}
</div>
<div class="col-auto">
<a class="unhide" href="#"><span class="fe fe-expand"></span></a>
</div>
</div>
<div class="row comment_body hidable{% if post_reply.reports and current_user.is_authenticated and post_reply.post.community.is_moderator(current_user) %} reported{% endif %}">
<div class="col-12">
{{ post_reply.body_html | community_links | person_links | safe }}
</div>
</div>
<div class="comment_actions hidable">
<div class="post_replies_link">
<a href="{{ url_for('post.add_reply', post_id=post_reply.post.id, comment_id=post_reply.id) }}"
hx-get="{{ url_for('post.add_reply_inline', post_id=post_reply.post.id, comment_id=post_reply.id) }}"
hx-target="#reply_to_{{ post_reply.id }}"
hx-swap="innerHTML"
rel="nofollow noindex"><span class="fe fe-reply"></span> reply</a>
</div>
<div class="voting_buttons_new">
{% with comment=post_reply, community=post_reply.post.community -%}
{% include "post/_comment_voting_buttons.html" -%}
{% endwith -%}
</div>
<div class="hide_button">
{% if collapsed -%}
<a href='#' class=""><span class="fe fe-expand"></span></a>
{% else -%}
<a href='#' class=""><span class="fe fe-collapse"></span></a>
{% endif -%}
</div>
<div class="notify_toggle pull-right">
{% if current_user.is_authenticated and current_user.verified -%}
{% with comment=dict(comment=post_reply) -%}
{% include "post/_reply_notification_toggle.html" -%}
{% endwith -%}
{% endif -%}
</div>
<div class="comment_actions_link">
<div class="dropdown">
<a
href="{{ url_for('post.post_reply_options', post_id=post_reply.post.id, comment_id=post_reply.id) if low_bandwidth else '#' }}"
data-bs-toggle="dropdown" rel="nofollow noindex"
aria-label="{{ _('Comment options') }}">
<span class="fe fe-options" title="Options"> </span>
</a>
<ul class="dropdown-menu" style="width: 320px">
<div
hx-get="{{ url_for('post.post_reply_options', post_id=post_reply.post.id, comment_id=post_reply.id) }}"
hx-trigger="intersect once"
hx-target="this"
hx-swap="outerHTML"
></div>
</ul>
</div>
</div>
</div>
<div id="reply_to_{{ post_reply.id }}" class="hidable"></div>
</div>
</div>