{% extends "layouts/ap-reader.njk" %} {% from "card/macro.njk" import card with context %} {% from "badge/macro.njk" import badge with context %} {% from "prose/macro.njk" import prose with context %} {% from "pagination/macro.njk" import pagination with context %} {% block readercontent %}
{# --- Collection Health --- #}

{{ __("activitypub.federationMgmt.collections") }}

{% for stat in collectionStats %}
{{ stat.count }} {{ stat.name | replace("ap_", "") }}
{% endfor %}
{# --- Quick Actions --- #}

{{ __("activitypub.federationMgmt.quickActions") }}

{% if debugDashboardEnabled %} {{ __("activitypub.federationMgmt.debugDashboard") }} {% endif %}

{# --- Object Lookup --- #}

{{ __("activitypub.federationMgmt.objectLookup") }}


  
{# --- Post Federation --- #}

{{ __("activitypub.federationMgmt.postActions") }}

{% if posts.length > 0 %}
{% for post in posts %}
{% endfor %}
{{ pagination(cursor) if cursor }} {% else %} {{ prose({ text: __("activitypub.federationMgmt.noPosts") }) }} {% endif %}
{# --- Recent Activity --- #}

{{ __("activitypub.federationMgmt.recentActivity") }}

{% if recentActivities.length > 0 %} {% for activity in recentActivities %} {{ card({ title: activity.actorName or activity.actorUrl, description: { text: activity.summary }, published: activity.receivedAt, badges: [ { text: activity.type }, { text: __("activitypub.directionInbound") if activity.direction === "inbound" else __("activitypub.directionOutbound") } ] }) }} {% endfor %}

{{ __("activitypub.federationMgmt.viewAllActivities") }}

{% else %} {{ prose({ text: __("activitypub.noActivity") }) }} {% endif %}
{# --- Moderation Overview --- #}

Moderation

{% if blockedServers.length > 0 %}

Blocked servers ({{ blockedServers.length }})

{% for server in blockedServers %}
🚫 {{ server.hostname }} {% if server.blockedAt %} {{ server.blockedAt | date("PPp") }} {% endif %}
{% endfor %}
{% else %} {{ prose({ text: "No servers blocked." }) }} {% endif %} {% if blockedAccounts.length > 0 %}

Blocked accounts ({{ blockedAccounts.length }})

{% for account in blockedAccounts %}
🚫 {{ account.url or account.handle or "Unknown" }} {% if account.blockedAt %} {{ account.blockedAt | date("PPp") }} {% endif %}
{% endfor %}
{% else %} {{ prose({ text: "No accounts blocked." }) }} {% endif %} {% if mutedAccounts.length > 0 %}

Muted ({{ mutedAccounts.length }})

{% for muted in mutedAccounts %}
🔇 {{ muted.url or muted.keyword or "Unknown" }}
{% endfor %}
{% endif %}
{# --- JSON Modal --- #}

{{ __("activitypub.federationMgmt.apJsonTitle") }}


    
{% endblock %}