mirror of
https://github.com/minetest/contentdb.git
synced 2024-12-23 14:32:25 +01:00
120 lines
4.4 KiB
HTML
120 lines
4.4 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}
|
|
{%- if thread.package -%}
|
|
{%- if thread.review -%}
|
|
{%- if thread.review.rating > 3 -%}
|
|
{%- set rating = "👍" -%}
|
|
{%- elif thread.review.rating < 3 -%}
|
|
{%- set rating = "👎" -%}
|
|
{%- else -%}
|
|
{%- set rating = "-" -%}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{{ rating }} {{ thread.title }} - {{ thread.package.title }}
|
|
{%- else -%}
|
|
{{ thread.title }}
|
|
{%- endif -%}
|
|
{% endblock %}
|
|
|
|
{% block description -%}
|
|
{{ thread.get_description() }}
|
|
{%- endblock %}
|
|
|
|
{% block headextra %}
|
|
<meta name="og:image" content="{{ thread.author.getProfilePicURL() }}"/>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
{% if current_user.is_authenticated %}
|
|
{% if current_user in thread.watchers %}
|
|
<form method="post" action="{{ thread.getUnsubscribeURL() }}" class="float-right">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
<input type="submit" class="btn btn-primary" value="{{ _('Unsubscribe') }}" />
|
|
</form>
|
|
{% else %}
|
|
<form method="post" action="{{ thread.getSubscribeURL() }}" class="float-right">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
<input type="submit" class="btn btn-primary" value="{{ _('Subscribe') }}" />
|
|
</form>
|
|
{% endif %}
|
|
{% if thread.checkPerm(current_user, "DELETE_THREAD") %}
|
|
<a href="{{ url_for('threads.delete_thread', id=thread.id) }}" class="float-right mr-2 btn btn-danger">{{ _('Delete') }}</a>
|
|
{% endif %}
|
|
{% if thread.review and thread.review.checkPerm(current_user, "DELETE_REVIEW") and current_user.username != thread.review.author.username %}
|
|
<form method="post" action="{{ thread.review.getDeleteURL() }}" class="float-right mr-2">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
<input type="submit" class="btn btn-danger" value="{{ _('Convert to Thread') }}" />
|
|
</form>
|
|
{% endif %}
|
|
{% if thread.checkPerm(current_user, "LOCK_THREAD") %}
|
|
{% if thread.locked %}
|
|
<form method="post" action="{{ url_for('threads.set_lock', id=thread.id, lock=0) }}" class="float-right mr-2">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
<input type="submit" class="btn btn-secondary" value="{{ _('Unlock') }}" />
|
|
</form>
|
|
{% else %}
|
|
<form method="post" action="{{ url_for('threads.set_lock', id=thread.id, lock=1) }}" class="float-right mr-2">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
<input type="submit" class="btn btn-secondary" value="{{ _('Lock') }}" />
|
|
</form>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if current_user == thread.author and thread.review %}
|
|
<a class="btn btn-primary ml-1 float-right mr-2"
|
|
href="{{ thread.review.package.getURL("packages.review") }}">
|
|
<i class="fas fa-pen"></i>
|
|
{{ _("Edit Review") }}
|
|
</a>
|
|
{% endif %}
|
|
|
|
<h1>
|
|
{% if thread.review %}
|
|
{% if thread.review.rating > 3 %}
|
|
<i class="fas fa-thumbs-up mr-2" style="color:#6f6;"></i>
|
|
{% elif thread.review.rating < 3 %}
|
|
<i class="fas fa-thumbs-down mr-2" style="color:#f66;"></i>
|
|
{% else %}
|
|
<i class="fas fa-minus mr-2" style="color:#999"></i>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if thread.private %}🔒 {% endif %}{{ thread.title }}
|
|
</h1>
|
|
|
|
{% if thread.package %}
|
|
<p>
|
|
{{ _("Package") }}: <a href="{{ thread.package.getURL('packages.view') }}">{{ thread.package.title }}</a>
|
|
</p>
|
|
{% endif %}
|
|
|
|
{% if thread.private %}
|
|
<aside class="row">
|
|
<div class="col-md-9">
|
|
<i>
|
|
{{ _("This thread is only visible to its creator, package maintainers, users of Approver rank or above, and @mentioned users.") }}
|
|
</i>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="d-flex flex-row justify-content-end flex-wrap align-items-center" style="gap: 0.5em;">
|
|
<span class="text-muted mr-2" title="{{ _('This thread is visible to the following users') }}">
|
|
{{ _("Visible to:") }}
|
|
</span>
|
|
{% for viewer in thread.get_visible_to() %}
|
|
<a href="{{ url_for('users.profile', username=viewer.username) }}" title="{{ viewer.display_name }}">
|
|
<img style="max-height: 2em;" src="{{ viewer.getProfilePicURL() }}" alt="{{ viewer.display_name }}" />
|
|
</a>
|
|
{% endfor %}
|
|
<a href="{{ url_for('users.list_all') }}" title="{{ _('Plus approvers and editors') }}">
|
|
+ <i class="fas fa-user-check"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
{% endif %}
|
|
|
|
{% from "macros/threads.html" import render_thread %}
|
|
{{ render_thread(thread, current_user, form) }}
|
|
{% endblock %}
|