feat: add profile fields for local users

DB→domain→API→AP→frontend end-to-end. Fields stored as
JSONB, exposed via PATCH /users/me, serialized as AP
PropertyValue attachment. Editor in federation settings,
display on profile card.
This commit is contained in:
2026-05-29 13:54:25 +02:00
parent 14a869cc8d
commit 805bd9534f
19 changed files with 224 additions and 27 deletions

View File

@@ -224,6 +224,27 @@ export default async function ProfilePage({ params }: ProfilePageProps) {
{user.bio}
</p>
{user.profileFields.length > 0 && (
<div className="mt-4 space-y-0 text-sm">
{user.profileFields.map((field) => (
<div
key={field.name}
className="grid grid-cols-[minmax(0,5rem)_1fr] gap-2 border-t py-1"
>
<span
className="font-medium text-muted-foreground truncate"
title={field.name}
>
{field.name}
</span>
<span className="break-all min-w-0">
{field.value}
</span>
</div>
))}
</div>
)}
{isOwnProfile && (
<div
id="profile-card__stats"