release: prepare J-Board Lite 3.1.1

This commit is contained in:
JetSprow
2026-04-30 20:10:49 +10:00
parent 9d99590338
commit db574ba473
47 changed files with 875 additions and 348 deletions

View File

@@ -42,6 +42,46 @@ export function UsersTable({ users }: UsersTableProps) {
</BatchActionButton>
</BatchActionBar>
}
mobileCards={users.map((user) => (
<article key={user.id} className="space-y-3 p-4">
<div className="flex items-start gap-3">
<input
form="user-batch-form"
type="checkbox"
name="userIds"
value={user.id}
aria-label={`选择用户 ${user.email}`}
className="mt-1 size-4 rounded border-border accent-primary"
/>
<div className="min-w-0 flex-1">
<p className="break-all text-sm font-semibold">{user.email}</p>
<p className="mt-1 break-words text-xs text-muted-foreground">{user.name || "未设置昵称"}</p>
</div>
<UserStatusBadge status={user.status} />
</div>
<div className="grid grid-cols-2 gap-2 rounded-lg bg-muted/25 p-3 text-xs">
<div>
<p className="text-muted-foreground"></p>
<div className="mt-1"><UserRoleBadge role={user.role} /></div>
</div>
<div>
<p className="text-muted-foreground"></p>
<p className="mt-1 font-semibold tabular-nums">{user._count.subscriptions}</p>
</div>
<div>
<p className="text-muted-foreground"></p>
<p className="mt-1">{user._count.invitedUsers} </p>
</div>
<div>
<p className="text-muted-foreground"></p>
<p className="mt-1">{formatDateShort(user.createdAt)}</p>
</div>
</div>
<div className="flex justify-end">
<UserActions user={user} />
</div>
</article>
))}
>
<DataTable aria-label="用户列表" className="min-w-[980px]">
<DataTableHead>