/* eslint-disable @typescript-eslint/no-explicit-any */ // 用户详情弹窗(只读信息 + 角色徽章 + 编辑入口) // Logan.Li import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Key, Edit, User as UserIcon } from 'lucide-react'; import { useTranslation } from 'react-i18next'; interface UserDetailDialogProps { selectedUser: any | null; setSelectedUser: (u: any | null) => void; getUserStatusBadge: (status: 'active' | 'inactive') => React.ReactNode; openEdit: ( user: any) => void; onResetPassword?: (user: any) => void; } // UserDetailDialog 仅展示选中用户的基本信息和角色列表 // Logan.Li export function UserDetailDialog({ selectedUser, setSelectedUser, getUserStatusBadge, openEdit, onResetPassword, }: UserDetailDialogProps) { const { t } = useTranslation(); return ( setSelectedUser(null)}> {selectedUser?.nickname} @{selectedUser?.username} · {selectedUser?.email}

{t('system.userName')}

{selectedUser?.username}

{t('system.userNickname')}

{selectedUser?.nickname}

{t('system.userEmail')}

{selectedUser?.email}

{t('system.userPhone')}

{selectedUser?.phone || '--'}

{t('system.userStatus')}

{selectedUser && getUserStatusBadge(selectedUser.status)}

{t('system.userCreatedAt')}

{selectedUser && selectedUser.createdAt ? new Date(selectedUser.createdAt).toLocaleDateString() : '--'}

{t('system.userRole')}

{selectedUser?.roles.map((role: string) => ( {role} ))}
); }