mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-01-24 03:43:42 -08:00
155 lines
9.8 KiB
HTML
155 lines
9.8 KiB
HTML
{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %}
|
|
{% extends 'themes/' + theme() + '/base.html' %}
|
|
{% else %}
|
|
{% extends "base.html" %}
|
|
{% endif %} %}
|
|
{% from 'bootstrap/form.html' import render_form %}
|
|
|
|
{% block app_content %}
|
|
<div class="row">
|
|
<div class="col-12 col-md-8 position-relative main_pane">
|
|
{% include 'post/_post_full.html' %}
|
|
<p><a href="{{ url_for('activitypub.post_ap', post_id=post.id, _anchor='replies') }}">Back to main discussion</a></p>
|
|
<div class="row post_replies">
|
|
<div class="col">
|
|
{% macro render_comment(comment) %}
|
|
<div id="comment_{{ comment['comment'].id }}" class="comment {% if comment['comment'].author.id == post.author.id %}original_poster{% endif %}" role="treeitem">
|
|
<div class="limit_height">
|
|
<div class="comment_author">
|
|
{% if comment['comment'].author.deleted %}
|
|
[deleted]
|
|
{% else %}
|
|
{% if comment['comment'].author.avatar_id and comment['comment'].score > -10 and not low_bandwidth %}
|
|
<a href="/u/{{ comment['comment'].author.link() }}" title="{{ comment['comment'].author.ap_id }}">
|
|
<img src="{{ comment['comment'].author.avatar_thumbnail() }}" alt="Avatar" loading="lazy" /></a>
|
|
{% endif %}
|
|
<a href="/u/{{ comment['comment'].author.link() }}" title="{{ comment['comment'].author.link() }}">
|
|
{{ comment['comment'].author.display_name() }}</a>
|
|
{% endif %}
|
|
{% if comment['comment'].author.created_recently() %}
|
|
<span class="fe fe-new-account small" title="New account"> </span>
|
|
{% endif %}
|
|
{% if comment['comment'].author.bot %}
|
|
<span class="fe fe-bot-account small" title="Bot account"> </span>
|
|
{% endif %}
|
|
{% if comment['comment'].author.id != current_user.id %}
|
|
{% if comment['comment'].author.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 comment['comment'].author.reputation < 0 %}
|
|
<span class="fe fe-warning orangered" title="Low reputation."> </span>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if comment['comment'].author.id == post.author.id %}<span title="Submitter of original post" aria-label="submitter" class="small">[OP]</span>{% endif %}
|
|
<span class="text-muted small">{{ moment(comment['comment'].posted_at).fromNow(refresh=True) }}{% if comment['comment'].edited_at %}, edited {{ moment(comment['comment'].edited_at).fromNow(refresh=True) }} {% endif %}</span>
|
|
<a class="unhide" href="#"><span class="fe fe-expand"></span></a>
|
|
{% if comment['comment'].reports and current_user.is_authenticated and post.community.is_moderator(current_user)%}
|
|
<span class="red fe fe-report" title="{{ _('Reported. Check comment for issues.') }}"></span>
|
|
{% endif %}
|
|
</div>
|
|
<div class="comment_body hidable {% if comment['comment'].reports and current_user.is_authenticated and post.community.is_moderator(current_user) %}reported{% endif %}">
|
|
{{ comment['comment'].body_html | safe }}
|
|
</div>
|
|
</div>
|
|
<div class="comment_actions hidable">
|
|
{% if post.comments_enabled %}
|
|
<a href="{{ url_for('post.add_reply', post_id=post.id, comment_id=comment['comment'].id) }}" rel="nofollow"><span class="fe fe-reply"></span> reply</a>
|
|
{% endif %}
|
|
<div class="voting_buttons_new">
|
|
{% with comment=comment['comment'] %}
|
|
{% include "post/_comment_voting_buttons.html" %}
|
|
{% endwith %}
|
|
</div>
|
|
<div class="hide_button">
|
|
{% if comment['comment'].score <= -10 %}
|
|
<a href='#'><span class="fe fe-expand"></span></a>
|
|
{% else %}
|
|
<a href='#'><span class="fe fe-collapse"></span></a>
|
|
{% endif %}
|
|
</div>
|
|
{% if current_user.is_authenticated and current_user.verified and current_user.id == comment['comment'].author.id %}
|
|
{% include "post/_reply_notification_toggle.html" %}
|
|
{% endif %}
|
|
<a href="{{ url_for('post.post_reply_options', post_id=post.id, comment_id=comment['comment'].id) }}" class="comment_actions_link" rel="nofollow"><span class="fe fe-options" title="Options"> </span></a>
|
|
</div>
|
|
{% if comment['replies'] %}
|
|
<div class="replies hidable" role="group">
|
|
{% for reply in comment['replies'] %}
|
|
{{ render_comment(reply) | safe }}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endmacro %}
|
|
<div id="replies" class="comments" role="tree">
|
|
{% for reply in replies %}
|
|
{{ render_comment(reply) | safe }}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<aside id="side_pane" class="col-12 col-md-4 side_pane" role="complementary">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-6">
|
|
{% if current_user.is_authenticated and community_membership(current_user, post.community) %}
|
|
<a class="w-100 btn btn-primary" href="/community/{{ post.community.link() }}/unsubscribe" rel="nofollow">{{ _('Leave') }}</a>
|
|
{% else %}
|
|
<a class="w-100 btn btn-primary" href="/community/{{ post.community.link() }}/subscribe" rel="nofollow">{{ _('Join') }}</a>
|
|
{% endif %}
|
|
</div>
|
|
{% if not community.restricted_to_mods or (community.restricted_to_mods and current_user.is_authenticated and community_membership(current_user, community) in [SUBSCRIPTION_MODERATOR, SUBSCRIPTION_OWNER]) %}
|
|
<div class="col-6">
|
|
<a class="w-100 btn btn-primary" href="/community/{{ post.community.link() }}/submit">{{ _('Create post') }}</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
<form method="get" action="/search">
|
|
<input type="search" name="q" class="form-control mt-2" placeholder="{{ _('Search this community') }}" />
|
|
<input type="hidden" name="community" value="{{ post.community.id }}">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="card mt-3">
|
|
<div class="card-header">
|
|
<h2>{{ _('About community') }}</h2>
|
|
</div>
|
|
<div class="card-body">
|
|
<p>{{ post.community.description_html|safe if post.community.description_html else '' }}</p>
|
|
<p>{{ post.community.rules_html|safe if post.community.rules_html else '' }}</p>
|
|
{% if len(mods) > 0 and not post.community.private_mods %}
|
|
<h3>Moderators</h3>
|
|
<ul class="moderator_list">
|
|
{% for mod in mods %}
|
|
<li><a href="/u/{{ mod.link() }}">{{ mod.display_name() }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% if is_moderator %}
|
|
<div class="card mt-3">
|
|
<div class="card-header">
|
|
<h2>{{ _('Community Settings') }}</h2>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if is_moderator or is_owner or is_admin %}
|
|
<p><a href="/community/{{ community.link() }}/moderate" class="btn btn-primary">{{ _('Moderate') }}</a></p>
|
|
{% endif %}
|
|
{% if is_owner or is_admin %}
|
|
<p><a href="{{ url_for('community.community_edit', community_id=community.id) }}" class="btn btn-primary">{{ _('Settings') }}</a></p>
|
|
{% endif %}
|
|
{% if community.is_local() and (community.is_owner() or current_user.is_admin()) %}
|
|
<p><a class="btn btn-primary btn-warning" href="{{ url_for('community.community_delete', community_id=community.id) }}" rel="nofollow">Delete community</a></p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% include "_inoculation_links.html" %}
|
|
</aside>
|
|
</div>
|
|
|
|
{% endblock %}
|