import { batchUpdateUserStatus } from "@/actions/admin/users"; import { BatchActionBar, BatchActionButton } from "@/components/admin/batch-action-bar"; import { DataTableShell } from "@/components/admin/data-table-shell"; import { DataTable, DataTableBody, DataTableCell, DataTableHead, DataTableHeadCell, DataTableHeaderRow, DataTableRow, } from "@/components/shared/data-table"; import { UserRoleBadge, UserStatusBadge } from "@/components/shared/domain-badges"; import { formatDateShort } from "@/lib/utils"; import { UserActions } from "../user-actions"; import type { AdminUserRow } from "../users-data"; interface UsersTableProps { users: AdminUserRow[]; } export function UsersTable({ users }: UsersTableProps) { return ( 批量启用 批量禁用 批量封禁 } mobileCards={users.map((user) => (

{user.email}

{user.name || "未设置昵称"}

角色

订阅

{user._count.subscriptions}

邀请

{user._count.invitedUsers} 人

注册

{formatDateShort(user.createdAt)}

))} > 选择 邮箱 昵称 邀请码 角色 状态 订阅数 邀请数据 注册时间 操作 {users.map((user) => ( {user.email} {user.name || "—"} {user.inviteCode || "—"} {user._count.subscriptions}

邀请了 {user._count.invitedUsers} 人

邀请人:{user.invitedBy?.email ?? "—"}

{formatDateShort(user.createdAt)}
))}
); }