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/actor_card.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

46 lines
1.8 KiB
HTML

<div class="bg-white rounded-lg shadow-sm border border-stone-200 p-4">
<div class="flex items-start gap-4">
{% if result.icon_url %}
<img src="{{ result.icon_url }}" alt="" class="w-16 h-16 rounded-full">
{% else %}
<div class="w-16 h-16 rounded-full bg-stone-300 flex items-center justify-center text-stone-600 font-bold text-xl">
{{ result.preferred_username[0] | upper }}
</div>
{% endif %}
<div class="flex-1">
<div class="flex items-baseline gap-2">
<span class="font-bold text-lg">{{ result.display_name or result.preferred_username }}</span>
<span class="text-stone-500">@{{ result.preferred_username }}@{{ result.domain }}</span>
</div>
{% if result.summary %}
<div class="text-sm text-stone-600 mt-1 prose prose-sm prose-stone max-w-none">
{{ result.summary | safe }}
</div>
{% endif %}
{% if actor %}
<div class="mt-3 flex gap-2">
<form method="post" action="{{ url_for('social.follow') }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<input type="hidden" name="actor_url" value="{{ result.actor_url }}">
<button type="submit"
class="bg-stone-800 text-white px-4 py-1.5 rounded text-sm hover:bg-stone-700">
Follow
</button>
</form>
<form method="post" action="{{ url_for('social.unfollow') }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<input type="hidden" name="actor_url" value="{{ result.actor_url }}">
<button type="submit"
class="border border-stone-300 text-stone-700 px-4 py-1.5 rounded text-sm hover:bg-stone-100">
Unfollow
</button>
</form>
</div>
{% endif %}
</div>
</div>
</div>