pyfedi/app/templates/post/post.html

162 lines
8.3 KiB
HTML
Raw Normal View History

{% extends "base.html" %}
{% from 'bootstrap/form.html' import render_form %}
{% block app_content %}
2023-10-23 22:54:11 +13:00
<script type="text/javascript" nonce="{{ session['nonce'] }}">
var toBeHidden = Array(); // this list of comment IDs will be iterated over in setupHideButtons() and the 'hide' button clicked
</script>
<div class="row">
2023-11-09 21:32:29 +13:00
<div class="col-12 col-md-8 position-relative main_pane">
{% include 'post/_post_full.html' %}
{% if post.comments_enabled %}
2023-10-23 13:03:35 +13:00
{% if current_user.is_authenticated %}
{% if current_user.verified %}
<div class="row post_reply_form">
2023-11-09 21:32:29 +13:00
<hr class="mt-1" />
2023-10-23 13:03:35 +13:00
<div class="col">
2023-11-30 23:21:37 +13:00
<div class="reply_form_inner position-relative">
2023-10-23 13:03:35 +13:00
{{ render_form(form) }}
</div>
</div>
2023-11-09 21:32:29 +13:00
{% if replies %}
2023-10-23 13:03:35 +13:00
<hr class="mt-4" />
2023-11-09 21:32:29 +13:00
{% endif %}
2023-10-23 13:03:35 +13:00
</div>
{% else %}
<p><a href="{{ url_for('auth.validation_required') }}">{{ _('Verify your email address to comment') }}</a></p>
{% endif %}
{% else %}
<p><a href="{{ url_for('auth.login') }}">{{ _('Log in to comment') }}</a></p>
{% endif %}
{% else %}
2023-10-23 13:03:35 +13:00
<p>{{ _('Comments are disabled for this post.') }}</p>
{% endif %}
2023-11-09 21:32:29 +13:00
{% if replies %}
<div class="row post_replies">
<div class="col">
2023-10-10 22:25:37 +13:00
{% macro render_comment(comment) %}
2023-11-09 22:44:09 +13:00
<div id="comment_{{ comment['comment'].id }}" class="comment {% if comment['comment'].score <= -10 %}low_score{% endif %}">
2023-10-15 21:13:32 +13:00
<div class="limit_height">
<div class="voting_buttons">
{% with comment=comment['comment'] %}
{% include "post/_voting_buttons.html" %}
2023-10-15 21:13:32 +13:00
{% endwith %}
</div>
2023-11-09 22:44:09 +13:00
<div class="hide_button">
{% if comment['comment'].score <= -10 %}
<a href='#'>[+] show</a>
{% else %}
<a href='#'>[-] hide</a>
{% endif %}
2023-10-23 22:54:11 +13:00
</div>
2023-10-15 21:13:32 +13:00
<div class="comment_author">
2023-10-21 15:49:01 +13:00
{% if comment['comment'].author.deleted %}
<strong>[deleted]</strong>
{% else %}
2023-10-23 22:54:11 +13:00
{% if comment['comment'].author.avatar_id and comment['comment'].score > -10 %}
2023-10-21 15:49:01 +13:00
<a href="/u/{{ comment['comment'].author.link() }}" title="{{ comment['comment'].author.ap_id }}">
<img src="{{ comment['comment'].author.avatar_image() }}" alt="Avatar" /></a>
{% endif %}
<a href="/u/{{ comment['comment'].author.link() }}" title="{{ comment['comment'].author.link() }}">
2023-11-09 22:44:09 +13:00
{{ comment['comment'].author.user_name }}</a>
2023-10-15 21:13:32 +13:00
{% endif %}
2023-11-30 05:14:22 +13:00
{% if comment['comment'].author.created_recently() %}
<span class="fe fe-new-account small" title="New account"> </span>
{% endif %}
2023-10-23 22:54:11 +13:00
{% if comment['comment'].author.id == post.author.id %}<span title="Submitter of original post" aria-label="submitter" class="small">[OP]</span>{% endif %}
2023-11-22 20:48:27 +13:00
<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>
2023-10-15 21:13:32 +13:00
</div>
<div class="comment_body hidable">
{{ comment['comment'].body_html | safe }}
</div>
</div>
2023-10-23 13:03:35 +13:00
{% if current_user.is_authenticated and current_user.verified %}
<div class="comment_actions hidable">
<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>
2023-10-23 13:03:35 +13:00
</div>
{% endif %}
{% if comment['replies'] %}
{% if comment['comment'].depth <= THREAD_CUTOFF_DEPTH %}
<div class="replies hidable">
{% for reply in comment['replies'] %}
{{ render_comment(reply) | safe }}
{% endfor %}
</div>
{% else %}
<div class="continue_thread hidable">
<a href="{{ url_for('post.continue_discussion', post_id=post.id, comment_id=comment['comment'].id, _anchor='replies') }}">
Continue thread</a>
</div>
{% endif %}
{% endif %}
2023-10-10 22:25:37 +13:00
</div>
2023-10-23 22:54:11 +13:00
{% if comment['comment'].score <= -10 %}
<script nonce="{{ session['nonce'] }}" type="text/javascript">
toBeHidden.push({{ comment['comment'].id }});
</script>
{% endif %}
2023-10-10 22:25:37 +13:00
{% endmacro %}
<div id="replies" class="comments">
2023-10-10 22:25:37 +13:00
{% for reply in replies %}
{{ render_comment(reply) | safe }}
{% endfor %}
</div>
</div>
</div>
2023-11-09 21:32:29 +13:00
{% endif %}
</div>
<div class="col-12 col-md-4">
<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">{{ _('Unsubscribe') }}</a>
{% else %}
<a class="w-100 btn btn-primary" href="/community/{{ post.community.link() }}/subscribe">{{ _('Subscribe') }}</a>
{% endif %}
</div>
<div class="col-6">
<a class="w-100 btn btn-primary" href="/community/{{ post.community.link() }}/submit">{{ _('Create post') }}</a>
</div>
</div>
<form method="get">
<input type="search" name="search" class="form-control mt-2" placeholder="{{ _('Search this community') }}" />
</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|safe }}</p>
<p>{{ post.community.rules|safe }}</p>
{% if len(mods) > 0 and not post.community.private_mods %}
<h3>Moderators</h3>
<ol>
{% for mod in mods %}
<li><a href="/u/{{ mod.user_name }}">{{ mod.user_name }}</a></li>
{% endfor %}
</ol>
{% endif %}
</div>
</div>
{% if is_moderator %}
<div class="card mt-3">
<div class="card-header">
<h2>{{ _('Community Settings') }}</h2>
</div>
<div class="card-body">
<p><a href="#" class="btn btn-primary">{{ _('Moderate') }}</a></p>
<p><a href="#" class="btn btn-primary">{{ _('Settings') }}</a></p>
</div>
</div>
{% endif %}
</div>
</div>
{% endblock %}