{% extends "base.html" %}

{% block title %}{{ identity }}{% endblock %}

{% block opengraph %}
    {% include "_opengraph.html" with opengraph_local=identity.to_opengraph_dict %}
{% endblock %}

{% block extra_head %}
    {% if identity.local %}
        <link rel="alternate" type="application/rss+xml" title="RSS feed for {{ identity.name }}" href="rss/" />
    {% endif %}
{% endblock %}

{% block body_class %}has-banner{% endblock %}

{% block content %}
    <h1 class="identity">
        {% if identity.local_image_url %}
            <img src="{{ identity.local_image_url.relative }}" class="banner">
        {% endif %}

        <img src="{{ identity.local_icon_url.relative }}" class="icon">

        {% if request.identity %}{% include "identity/_view_menu.html" %}{% endif %}

        {{ identity.html_name_or_handle }}
        <small>
            @{{ identity.handle }}
            <a title="Copy handle"
                class="copy"
                tabindex="0"
                _="on click or keyup[key is 'Enter']
                    writeText('@{{ identity.handle }}') into the navigator's clipboard
                    then add .copied
                    wait 2s
                    then remove .copied">
                <i class="fa-solid fa-copy"></i>
            </a>
        </small>
    </h1>

    {% if inbound_block %}
        <p class="system-note">
            This user has blocked you.
        </p>
    {% else %}

        {% if identity.summary %}
            <div class="bio">
                {{ identity.safe_summary }}
            </div>
        {% endif %}

        {% if identity.metadata %}
            <div class="identity-metadata">
                {% for entry in identity.safe_metadata %}
                    <div class="metadata-pair">
                        <span class="metadata-name">{{ entry.name }}</span>
                        <span class="metadata-value">{{ entry.value }}</span>
                    </div>
                {% endfor %}
            </div>
        {% endif %}

        {% if identity.local and identity.config_identity.visible_follows %}
            <div class="view-options follows">
                <a href="{{ identity.urls.view }}" {% if not follows_page %}class="selected"{% endif %}><strong>{{ post_count }}</strong> posts</a>
                <a href="{{ identity.urls.following }}" {% if not inbound and follows_page %}class="selected"{% endif %}><strong>{{ following_count }}</strong> following</a>
                <a href="{{ identity.urls.followers }}" {% if inbound and follows_page %}class="selected"{% endif %}><strong>{{ followers_count }}</strong> follower{{ followers_count|pluralize }}</a>
            </div>
        {% endif %}

        {% if not identity.local %}
            {% if identity.outdated and not identity.name %}
                <p class="system-note">
                    The system is still fetching this profile. Refresh to see updates.
                </p>
            {% else %}
                <p class="system-note">
                    This is a member of another server.
                    <a href="{{ identity.profile_uri|default:identity.actor_uri }}">See their original profile ➔</a>
                </p>
            {% endif %}
        {% endif %}

        {% block subcontent %}

            {% for post in page_obj %}
                {% include "activities/_post.html" %}
            {% empty %}
                <span class="empty">
                    {% if identity.local %}
                        No posts yet.
                    {% else %}
                        No posts have been received/retrieved by this server yet.

                        {% if identity.profile_uri %}
                            You might find historical posts at
                            <a href="{{ identity.profile_uri }}">their original profile ➔</a>
                        {% endif %}
                    {% endif %}
                </span>
            {% endfor %}

            <div class="pagination">
                {% if page_obj.has_previous and not request.htmx %}
                    <a class="button" href=".?page={{ page_obj.previous_page_number }}">Previous Page</a>
                {% endif %}

                {% if page_obj.has_next %}
                    <a class="button" href=".?page={{ page_obj.next_page_number }}" hx-get=".?page={{ page_obj.next_page_number }}" hx-select=".left-column > *:not(.view-options)" hx-target=".pagination" hx-swap="outerHTML" {% if config_identity.infinite_scroll %}hx-trigger="revealed"{% endif %}>Next Page</a>
                {% endif %}
            </div>

        {% endblock %}
    {% endif %}
{% endblock %}
