All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
Phase 0+1 of AP integration. New 5th Quart microservice: Blueprints: - wellknown: WebFinger, NodeInfo 2.0, host-meta - actors: AP actor profiles (JSON-LD + HTML), outbox, inbox, followers - identity: username selection flow (creates ActorProfile + RSA keypair) - auth: magic link login/logout (ported from blog, self-contained) Services: - Registers SqlFederationService (real impl) for federation domain - Registers real impls for blog, calendar, market, cart - All cross-domain via shared service contracts Templates: - Actor profiles, username selection, platform home - Auth login/check-email (ported from blog) Infrastructure: - Dockerfile + entrypoint.sh (matches other apps) - CI/CD via Gitea Actions - shared/ as git submodule Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
1.2 KiB
HTML
33 lines
1.2 KiB
HTML
{% extends "federation/base.html" %}
|
|
{% block title %}@{{ actor.preferred_username }} — Rose Ash{% endblock %}
|
|
{% block content %}
|
|
<div class="py-8">
|
|
<div class="bg-white rounded-lg shadow p-6 mb-6">
|
|
<h1 class="text-2xl font-bold">{{ actor.display_name or actor.preferred_username }}</h1>
|
|
<p class="text-stone-500">@{{ actor.preferred_username }}@{{ config.get('ap_domain', 'rose-ash.com') }}</p>
|
|
{% if actor.summary %}
|
|
<p class="mt-2">{{ actor.summary }}</p>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<h2 class="text-xl font-bold mb-4">Activities ({{ total }})</h2>
|
|
{% if activities %}
|
|
<div class="space-y-4">
|
|
{% for a in activities %}
|
|
<div class="bg-white rounded-lg shadow p-4">
|
|
<div class="flex justify-between items-start">
|
|
<span class="font-medium">{{ a.activity_type }}</span>
|
|
<span class="text-sm text-stone-400">{{ a.published.strftime('%Y-%m-%d %H:%M') if a.published }}</span>
|
|
</div>
|
|
{% if a.object_type %}
|
|
<span class="text-sm text-stone-500">{{ a.object_type }}</span>
|
|
{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<p class="text-stone-500">No activities yet.</p>
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|