{% extends "document.njk" %} {% from "heading/macro.njk" import heading with context %} {% from "card/macro.njk" import card with context %} {% from "card-grid/macro.njk" import cardGrid with context %} {% from "prose/macro.njk" import prose with context %} {% from "badge/macro.njk" import badge with context %} {% block content %} {{ cardGrid({ cardSize: "16rem", items: [ { title: followerCount + " " + __("activitypub.followers"), url: mountPath + "/admin/followers" }, { title: followingCount + " " + __("activitypub.following"), url: mountPath + "/admin/following" }, { title: __("activitypub.activities"), url: mountPath + "/admin/activities" }, { title: pinnedCount + " " + __("activitypub.featured"), url: mountPath + "/admin/featured" }, { title: tagCount + " " + __("activitypub.featuredTags"), url: mountPath + "/admin/tags" }, { title: __("activitypub.profile.title"), url: mountPath + "/admin/profile" }, { title: __("activitypub.migrate.title"), url: mountPath + "/admin/migrate" } ]}) }} {% if refollowStatus and refollowStatus.status !== "idle" %}
{{ heading({ text: __("activitypub.refollow.title"), level: 2 }) }} {# Progress bar #}
{# Stats grid #}
{{ refollowStatus.remaining }}
{{ __("activitypub.refollow.remaining") }}
{{ refollowStatus.sent }}
{{ __("activitypub.refollow.awaitingAccept") }}
{{ refollowStatus.federated }}
{{ __("activitypub.refollow.accepted") }}
{{ refollowStatus.failed }}
{{ __("activitypub.refollow.failed") }}
{# Status + controls #}
{{ __("activitypub.refollow.status." + refollowStatus.status) }}
{% endif %} {{ heading({ text: __("activitypub.recentActivity"), level: 2 }) }} {% 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 }] }) }} {% endfor %} {% else %} {{ prose({ text: __("activitypub.noActivity") }) }} {% endif %} {% endblock %}