import { KeyRound, Loader2, Pencil, ShieldCheck, Trash2, UserCheck, UserX, X } from 'lucide-react' import type { User } from '../types' type AdminUsersTableProps = { users: User[] editingID: string | null editingUsername: string resettingPasswordID: string | null onEditingUsernameChange: (value: string) => void onSaveEdit: (id: string) => void onCancelEdit: () => void onStartEdit: (user: User) => void onResetPassword: (user: User) => void onToggleStatus: (user: User) => void onDeleteUser: (user: User) => void } export function AdminUsersTable({ users, editingID, editingUsername, resettingPasswordID, onEditingUsernameChange, onSaveEdit, onCancelEdit, onStartEdit, onResetPassword, onToggleStatus, onDeleteUser, }: AdminUsersTableProps) { return (
| 用户名 | 角色 | 状态 | 权限说明 | 最近登录 | 操作 |
|---|---|---|---|---|---|
|
{editingID === u.id ? (
onEditingUsernameChange(e.target.value)}
/>
) : (
{u.username}
{u.is_default_admin && |
{u.role === 'admin' ? '管理员' : '观看用户'} | {u.is_active ? '正常' : '已禁用'} | {u.role === 'admin' ? '全部管理权限' : '仅浏览/播放/外部播放器,无下载与文件操作'} | {u.last_login_at ? new Date(u.last_login_at).toLocaleString() : '从未登录'} {u.realtime_online && 在线} {(u.realtime_device_count ?? 0) > 0 && {u.realtime_device_count} 台} | {editingID === u.id ? ( <> > ) : ( )} |