From 0cf49e037ce19057489ec69829b3b76d14d4b4ff Mon Sep 17 00:00:00 2001 From: Ricardo Date: Sat, 21 Feb 2026 21:32:56 +0100 Subject: [PATCH] fix: remove duplicate page headings across all AP templates document.njk already renders title as h1 via the heading macro. All 14 AP templates were also calling heading() with level 1 inside their content block, producing two h1 elements per page. Removed the redundant calls and moved dynamic count prefixes into the title variable in followers/following controllers. --- lib/controllers/followers.js | 2 +- lib/controllers/following.js | 2 +- views/activitypub-activities.njk | 2 -- views/activitypub-compose.njk | 2 -- views/activitypub-dashboard.njk | 2 -- views/activitypub-featured-tags.njk | 2 -- views/activitypub-featured.njk | 2 -- views/activitypub-followers.njk | 2 -- views/activitypub-following.njk | 2 -- views/activitypub-migrate.njk | 2 -- views/activitypub-moderation.njk | 2 -- views/activitypub-notifications.njk | 2 -- views/activitypub-post-detail.njk | 2 -- views/activitypub-profile.njk | 2 -- views/activitypub-remote-profile.njk | 2 -- 15 files changed, 2 insertions(+), 28 deletions(-) diff --git a/lib/controllers/followers.js b/lib/controllers/followers.js index acc05df..98310dd 100644 --- a/lib/controllers/followers.js +++ b/lib/controllers/followers.js @@ -32,7 +32,7 @@ export function followersController(mountPath) { const cursor = buildCursor(page, totalPages, mountPath + "/admin/followers"); response.render("activitypub-followers", { - title: response.locals.__("activitypub.followers"), + title: `${totalCount} ${response.locals.__("activitypub.followers")}`, followers, followerCount: totalCount, mountPath, diff --git a/lib/controllers/following.js b/lib/controllers/following.js index 9678776..3ee3155 100644 --- a/lib/controllers/following.js +++ b/lib/controllers/following.js @@ -32,7 +32,7 @@ export function followingController(mountPath) { const cursor = buildCursor(page, totalPages, mountPath + "/admin/following"); response.render("activitypub-following", { - title: response.locals.__("activitypub.following"), + title: `${totalCount} ${response.locals.__("activitypub.following")}`, following, followingCount: totalCount, mountPath, diff --git a/views/activitypub-activities.njk b/views/activitypub-activities.njk index 70e67d7..2208b55 100644 --- a/views/activitypub-activities.njk +++ b/views/activitypub-activities.njk @@ -7,8 +7,6 @@ {% from "pagination/macro.njk" import pagination with context %} {% block content %} - {{ heading({ text: __("activitypub.activities"), level: 1 }) }} - {% if activities.length > 0 %} {% for activity in activities %} {{ card({ diff --git a/views/activitypub-compose.njk b/views/activitypub-compose.njk index 529c2a9..3289931 100644 --- a/views/activitypub-compose.njk +++ b/views/activitypub-compose.njk @@ -3,8 +3,6 @@ {% from "heading/macro.njk" import heading with context %} {% block readercontent %} - {{ heading({ text: title, level: 1 }) }} - {# Reply context — show the post being replied to #} {% if replyContext %}
diff --git a/views/activitypub-dashboard.njk b/views/activitypub-dashboard.njk index 60f5d21..43c48d0 100644 --- a/views/activitypub-dashboard.njk +++ b/views/activitypub-dashboard.njk @@ -7,8 +7,6 @@ {% from "badge/macro.njk" import badge with context %} {% block content %} - {{ heading({ text: title, level: 1 }) }} - {{ cardGrid({ cardSize: "16rem", items: [ { title: followerCount + " " + __("activitypub.followers"), diff --git a/views/activitypub-featured-tags.njk b/views/activitypub-featured-tags.njk index a1b8fb6..f4d5237 100644 --- a/views/activitypub-featured-tags.njk +++ b/views/activitypub-featured-tags.njk @@ -4,8 +4,6 @@ {% from "prose/macro.njk" import prose with context %} {% block content %} - {{ heading({ text: title, level: 1 }) }} - {% if tags.length > 0 %} diff --git a/views/activitypub-featured.njk b/views/activitypub-featured.njk index b86d96e..edfbcdd 100644 --- a/views/activitypub-featured.njk +++ b/views/activitypub-featured.njk @@ -4,8 +4,6 @@ {% from "prose/macro.njk" import prose with context %} {% block content %} - {{ heading({ text: title, level: 1 }) }} - {% if pinned.length > 0 %}
diff --git a/views/activitypub-followers.njk b/views/activitypub-followers.njk index d9248a5..9f6964a 100644 --- a/views/activitypub-followers.njk +++ b/views/activitypub-followers.njk @@ -6,8 +6,6 @@ {% from "pagination/macro.njk" import pagination with context %} {% block content %} - {{ heading({ text: followerCount + " " + __("activitypub.followers"), level: 1 }) }} - {% if followers.length > 0 %} {% for follower in followers %} {{ card({ diff --git a/views/activitypub-following.njk b/views/activitypub-following.njk index 8f12964..08fc238 100644 --- a/views/activitypub-following.njk +++ b/views/activitypub-following.njk @@ -7,8 +7,6 @@ {% from "pagination/macro.njk" import pagination with context %} {% block content %} - {{ heading({ text: followingCount + " " + __("activitypub.following"), level: 1 }) }} - {% if following.length > 0 %} {% for account in following %} {% if account.source === "import" %} diff --git a/views/activitypub-migrate.njk b/views/activitypub-migrate.njk index f533dcf..1edfdc5 100644 --- a/views/activitypub-migrate.njk +++ b/views/activitypub-migrate.njk @@ -8,8 +8,6 @@ {% from "prose/macro.njk" import prose with context %} {% block content %} - {{ heading({ text: title, level: 1 }) }} - {% if result %} {{ notificationBanner({ type: result.type, text: result.text }) }} {% endif %} diff --git a/views/activitypub-moderation.njk b/views/activitypub-moderation.njk index 78e196a..986e93e 100644 --- a/views/activitypub-moderation.njk +++ b/views/activitypub-moderation.njk @@ -4,8 +4,6 @@ {% from "prose/macro.njk" import prose with context %} {% block readercontent %} - {{ heading({ text: title, level: 1 }) }} - {# Blocked actors #}

{{ __("activitypub.moderation.blockedTitle") }}

diff --git a/views/activitypub-notifications.njk b/views/activitypub-notifications.njk index bc70078..d8064e3 100644 --- a/views/activitypub-notifications.njk +++ b/views/activitypub-notifications.njk @@ -4,8 +4,6 @@ {% from "prose/macro.njk" import prose with context %} {% block readercontent %} - {{ heading({ text: __("activitypub.notifications.title"), level: 1 }) }} - {% if items.length > 0 %}
{% if unreadCount > 0 %} diff --git a/views/activitypub-post-detail.njk b/views/activitypub-post-detail.njk index bbe76bf..de17554 100644 --- a/views/activitypub-post-detail.njk +++ b/views/activitypub-post-detail.njk @@ -3,8 +3,6 @@ {% from "heading/macro.njk" import heading with context %} {% block readercontent %} - {{ heading({ text: title, level: 1 }) }} -
{# Back button #}
diff --git a/views/activitypub-profile.njk b/views/activitypub-profile.njk index 5a60ab9..408f515 100644 --- a/views/activitypub-profile.njk +++ b/views/activitypub-profile.njk @@ -10,8 +10,6 @@ {% from "prose/macro.njk" import prose with context %} {% block content %} - {{ heading({ text: title, level: 1 }) }} - {% if result %} {{ notificationBanner({ type: result.type, text: result.text }) }} {% endif %} diff --git a/views/activitypub-remote-profile.njk b/views/activitypub-remote-profile.njk index 5418ab8..6f0d593 100644 --- a/views/activitypub-remote-profile.njk +++ b/views/activitypub-remote-profile.njk @@ -4,8 +4,6 @@ {% from "prose/macro.njk" import prose with context %} {% block readercontent %} - {{ heading({ text: title, level: 1 }) }} -