diff --git a/views/activitypub-notifications.njk b/views/activitypub-notifications.njk
index 03c7459..ce03d4a 100644
--- a/views/activitypub-notifications.njk
+++ b/views/activitypub-notifications.njk
@@ -48,22 +48,35 @@
- {% if items.length > 0 %}
-
- {% for item in items %}
- {% include "partials/ap-notification-card.njk" %}
- {% endfor %}
-
-
- {# Pagination — preserve active tab #}
- {% if before %}
-
+ {% if tab == "mention" %}
+ {# DM thread view — grouped by conversation #}
+ {% if conversations and conversations.length > 0 %}
+
+ {% for conv in conversations %}
+ {% include "partials/ap-dm-thread.njk" %}
+ {% endfor %}
+
+ {% else %}
+ {{ prose({ text: "No direct messages yet." }) }}
{% endif %}
{% else %}
- {{ prose({ text: __("activitypub.notifications.empty") }) }}
+ {% if items.length > 0 %}
+
+ {% for item in items %}
+ {% include "partials/ap-notification-card.njk" %}
+ {% endfor %}
+
+
+ {# Pagination — preserve active tab #}
+ {% if before %}
+
+ {% endif %}
+ {% else %}
+ {{ prose({ text: __("activitypub.notifications.empty") }) }}
+ {% endif %}
{% endif %}
{% endblock %}