2025-03-25 23:58:27 -04:00
|
|
|
{% import "macros.html" as macros %} {% extends "root.html" %} {% block head %}
|
|
|
|
<title>{{ profile.username }} - {{ config.name }}</title>
|
|
|
|
{% endblock %} {% block body %} {{ macros::nav() }}
|
|
|
|
<article>
|
2025-03-31 19:31:36 -04:00
|
|
|
<div class="content_container flex flex-col gap-4">
|
|
|
|
{{ components::banner(username=profile.username) }}
|
|
|
|
|
2025-03-25 23:58:27 -04:00
|
|
|
<div class="w-full flex gap-4 flex-collapse">
|
|
|
|
<div
|
|
|
|
class="lhs flex flex-col gap-2 sm:w-full"
|
|
|
|
style="min-width: 20rem"
|
|
|
|
>
|
|
|
|
<div class="card-nest w-full">
|
|
|
|
<div class="card flex gap-2" id="user_avatar_and_name">
|
2025-03-29 00:26:56 -04:00
|
|
|
{{
|
|
|
|
components::avatar(username=profile.username,size="72px")
|
2025-03-25 23:58:27 -04:00
|
|
|
}}
|
|
|
|
<div class="flex flex-col">
|
2025-03-26 21:46:21 -04:00
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<h3 id="username" class="username">
|
2025-03-31 11:45:34 -04:00
|
|
|
{{ components::username(user=profile) }}
|
2025-03-26 21:46:21 -04:00
|
|
|
|
|
|
|
{% if profile.is_verified %}
|
|
|
|
<span title="Verified">
|
|
|
|
{{ icon "badge-check" }}
|
|
|
|
</span>
|
|
|
|
{% endif %}
|
2025-03-25 23:58:27 -04:00
|
|
|
</h3>
|
|
|
|
|
|
|
|
<span class="fade">{{ profile.username }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card flex" id="social">
|
2025-03-26 21:46:21 -04:00
|
|
|
<a
|
|
|
|
href="/user/{{ profile.username }}/followers"
|
2025-03-25 23:58:27 -04:00
|
|
|
class="w-full flex justify-center items-center gap-2"
|
|
|
|
>
|
|
|
|
<h4>{{ profile.follower_count }}</h4>
|
|
|
|
<span>{{ text "auth:label.followers" }}</span>
|
2025-03-26 21:46:21 -04:00
|
|
|
</a>
|
|
|
|
<a
|
|
|
|
href="/user/{{ profile.username }}/following"
|
2025-03-25 23:58:27 -04:00
|
|
|
class="w-full flex justify-center items-center gap-2"
|
|
|
|
>
|
|
|
|
<h4>{{ profile.following_count }}</h4>
|
|
|
|
<span>{{ text "auth:label.following" }}</span>
|
2025-03-26 21:46:21 -04:00
|
|
|
</a>
|
2025-03-25 23:58:27 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card-nest flex flex-col">
|
2025-03-26 21:46:21 -04:00
|
|
|
<div id="bio" class="card small">
|
2025-03-29 22:27:57 -04:00
|
|
|
{{ profile.settings.biography|markdown|safe }}
|
2025-03-25 23:58:27 -04:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card flex flex-col gap-2">
|
|
|
|
<div class="w-full flex justify-between items-center">
|
|
|
|
<span class="notification chip">ID</span>
|
|
|
|
<button
|
|
|
|
title="Copy"
|
2025-03-31 15:39:49 -04:00
|
|
|
onclick="trigger('atto::copy_text', ['{{ profile.id }}'])"
|
2025-03-25 23:58:27 -04:00
|
|
|
class="camo small"
|
|
|
|
>
|
|
|
|
{{ icon "copy" }}
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="w-full flex justify-between items-center">
|
|
|
|
<span class="notification chip">Joined</span>
|
|
|
|
<span class="date">{{ profile.created }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card-nest">
|
2025-03-26 21:46:21 -04:00
|
|
|
<div class="card small flex gap-2 items-center">
|
2025-03-25 23:58:27 -04:00
|
|
|
{{ icon "users-round" }}
|
2025-03-29 00:26:56 -04:00
|
|
|
<span>{{ text "auth:label.joined_communities" }}</span>
|
2025-03-25 23:58:27 -04:00
|
|
|
</div>
|
|
|
|
|
2025-03-29 00:26:56 -04:00
|
|
|
<div class="card flex flex-wrap gap-2">
|
|
|
|
{% for community in communities %}
|
|
|
|
<a href="/community/{{ community.title }}">
|
|
|
|
{{ components::community_avatar(id=community.id,
|
|
|
|
community=community, size="48px") }}
|
|
|
|
</a>
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
2025-03-25 23:58:27 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2025-03-29 00:26:56 -04:00
|
|
|
<div class="rhs w-full">{% block content %}{% endblock %}</div>
|
2025-03-25 23:58:27 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</article>
|
|
|
|
{% endblock %}
|