{% extends "document.njk" %} {% from "heading/macro.njk" import heading with context %} {% from "card/macro.njk" import card with context %} {% from "prose/macro.njk" import prose with context %} {% from "pagination/macro.njk" import pagination with context %} {% block content %} {# Tab navigation — only show if there are pending requests #} {% if pendingCount > 0 %} {% set followersBase = mountPath + "/admin/followers" %} {% endif %} {% if tab == "pending" %} {# Pending follow requests #} {% if pendingFollows.length > 0 %} {% for pending in pendingFollows %}
{{ card({ title: pending.name or pending.handle or pending.actorUrl, url: pending.actorUrl, photo: { url: pending.avatar, alt: pending.name } if pending.avatar, description: { text: "@" + pending.handle if pending.handle } }) }}
{% endfor %} {{ pagination(cursor) if cursor }} {% else %} {{ prose({ text: __("activitypub.noPendingFollows") }) }} {% endif %} {% else %} {# Accepted followers #} {% if followers.length > 0 %} {% for follower in followers %} {{ card({ title: follower.name or follower.handle or follower.actorUrl, url: follower.actorUrl, photo: { url: follower.avatar, alt: follower.name } if follower.avatar, description: { text: "@" + follower.handle if follower.handle }, published: follower.followedAt }) }} {% endfor %} {{ pagination(cursor) if cursor }} {% else %} {{ prose({ text: __("activitypub.noFollowers") }) }} {% endif %} {% endif %} {% endblock %}