This repository has been archived on 2026-02-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
federation/templates/federation/_notification.html
giles b694d1f4f9
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
Add full fediverse social service
Social blueprint with timeline, compose, search, follow/unfollow,
like/boost interactions, and notifications. Inbox handler extended
for Create/Update/Delete/Accept/Like/Announce with notification
creation. HTMX-powered infinite scroll and interaction buttons.
Nav updated with Timeline, Public, Search, and Notifications links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 11:57:24 +00:00

43 lines
1.7 KiB
HTML

<div class="bg-white rounded-lg shadow-sm border border-stone-200 p-4 {{ 'border-l-4 border-l-stone-400' if not notif.read }}">
<div class="flex items-start gap-3">
{% if notif.from_actor_icon %}
<img src="{{ notif.from_actor_icon }}" alt="" class="w-8 h-8 rounded-full">
{% else %}
<div class="w-8 h-8 rounded-full bg-stone-300 flex items-center justify-center text-stone-600 font-bold text-xs">
{{ notif.from_actor_name[0] | upper if notif.from_actor_name else '?' }}
</div>
{% endif %}
<div class="flex-1">
<div class="text-sm">
<span class="font-semibold">{{ notif.from_actor_name }}</span>
<span class="text-stone-500">
@{{ notif.from_actor_username }}{% if notif.from_actor_domain %}@{{ notif.from_actor_domain }}{% endif %}
</span>
{% if notif.notification_type == "follow" %}
<span class="text-stone-600">followed you</span>
{% elif notif.notification_type == "like" %}
<span class="text-stone-600">liked your post</span>
{% elif notif.notification_type == "boost" %}
<span class="text-stone-600">boosted your post</span>
{% elif notif.notification_type == "mention" %}
<span class="text-stone-600">mentioned you</span>
{% elif notif.notification_type == "reply" %}
<span class="text-stone-600">replied to your post</span>
{% endif %}
</div>
{% if notif.target_content_preview %}
<div class="text-sm text-stone-500 mt-1 truncate">
{{ notif.target_content_preview }}
</div>
{% endif %}
<div class="text-xs text-stone-400 mt-1">
{{ notif.created_at.strftime('%b %d, %H:%M') }}
</div>
</div>
</div>
</div>