contentdb/app/templates/users/profile.html

160 lines
4.5 KiB
HTML

{% extends "base.html" %}
{% block title %}
{{ user.username }}
{% endblock %}
{% block content %}
<article class="row mb-5">
<div class="col-auto image mx-0">
<img class="img-fluid user-photo img-thumbnail img-thumbnail-1" src="{{ user.getProfilePicURL() }}" alt="Profile picture">
</div>
<div class="col">
{% if user.can_see_edit_profile(current_user) %}
<a class="btn btn-primary float-right" href="{{ url_for('users.profile_edit', username=user.username) }}">
{{ _("Edit Profile") }}
</a>
{% endif %}
{% if current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.MODERATOR) and user.email %}
<a class="btn btn-secondary float-right mr-3" href="{{ url_for('admin.send_single_email', username=user.username) }}">
{{ _("Send Email") }}
</a>
{% endif %}
<h1 class="ml-3 my-0 {{ user.rank.name }}">
{{ user.display_name }}
</h1>
<div class="info-row mx-0 mt-2 mb-0">
<div class="btn-group-horizontal">
<span class="btn">
<i class="fas fa-user"></i>
<span class="count">
{{ user.rank.getTitle() }}
</span>
</span>
{% if user.forums_username %}
<a class="btn" href="https://forum.minetest.net/memberlist.php?mode=viewprofile&un={{ user.forums_username }}">
<i class="fas fa-comments"></i>
<span class="count">
{{ _("Forums") }}
</span>
</a>
{% endif %}
{% if user.github_username %}
<a class="btn" href="https://github.com/{{ user.github_username }}">
<i class="fas fa-code-branch"></i>
<span class="count">
{{ _("GitHub") }}
</span>
</a>
{% endif %}
{% if user.website_url %}
<a class="btn" href="{{ user.website_url }}" rel="nofollow">
<i class="fas fa-globe-europe"></i>
<span class="count">
{{ _("Website") }}
</span>
</a>
{% endif %}
{% if user.donate_url %}
<a class="btn" href="{{ user.donate_url }}" rel="nofollow">
<i class="fas fa-donate"></i>
<span class="count">
{{ _("Donate") }}
</span>
</a>
{% endif %}
<a class="btn" href="{{ url_for('packages.list_all', author=user.username) }}">
<i class="fas fa-box"></i>
<span class="count">
<strong>{{ user.packages.count() }}</strong>
{{ _("packages") }}
</span>
</a>
<a class="btn" href="#reviews">
<i class="fas fa-star-half-alt"></i>
<span class="count">
<strong>{{ user.reviews | length }}</strong>
{{ _("reviews") }}
</span>
</a>
<span>
<i class="fas fa-comment"></i>
<span class="count">
<strong>{{ user.replies.count() }}</strong>
{{ _("comments") }}
</span>
</span>
</div>
</div>
</div>
</article>
{% if not current_user.is_authenticated and user.rank == user.rank.NOT_JOINED and user.forums_username %}
<div class="alert alert-secondary mb-5">
<a class="float-right btn btn-default btn-sm"
href="{{ url_for('users.claim_forums', username=user.forums_username) }}">Claim</a>
Is this you? Claim your account now!
</div>
{% endif %}
{% if current_user == user or (current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.EDITOR)) %}
<a class="float-right btn btn-sm btn-primary"
href="{{ url_for('todo.tags', author=user.username) }}">
View list of tags
</a>
{% endif %}
<h2 class="my-3">{{ _("Packages") }}</h2>
{% from "macros/packagegridtile.html" import render_pkggrid %}
{{ render_pkggrid(packages, show_author=False) }}
<h2 class="my-3" id="reviews">{{ _("Reviews") }}</h2>
{% from "macros/reviews.html" import render_reviews %}
{{ render_reviews(user.reviews, current_user, True) }}
{% if current_user == user or (current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.EDITOR)) %}
<div class="card mt-5">
<a name="unadded-topics"></a>
<h2 class="card-header">Unadded topics</h2>
{% if topics_to_add %}
<p class="card-body">
List of your forum topics which do not have a matching package.
Topics with a strikethrough have been marked as discarded.
</p>
{% from "macros/topics.html" import render_topics_table %}
{{ render_topics_table(topics_to_add, show_author=False, show_discard=True, current_user=current_user) }}
{% else %}
<p class="card-body">Congrats! You don't have any topics which aren't on CDB.</p>
{% endif %}
</div>
{% endif %}
{% endblock %}
{% block scriptextra %}
<script>
const csrf_token = "{{ csrf_token() }}";
</script>
<script src="/static/topic_discard.js"></script>
{% endblock %}