All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
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>
43 lines
1.7 KiB
HTML
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>
|