'use client' import { WxUserWithProgress } from '@/types' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, } from '@/components/ui/dialog' interface WxUserDetailDialogProps { open: boolean onOpenChange: (open: boolean) => void user: WxUserWithProgress | null | undefined } export function WxUserDetailDialog({ open, onOpenChange, user, }: WxUserDetailDialogProps) { if (!user) return null return ( 用户详情 完整信息及关卡进度
{user.avatarUrl ? ( {user.nickname ) : (
{user.nickname?.[0]?.toUpperCase() || 'U'}
)}

{user.nickname || '匿名用户'}

注册时间:{new Date(user.createdAt).toLocaleDateString('zh-CN')}

积分

{user.points}

已通关关卡

{user.levelProgress.length}

OpenID

{user.openid}
{user.levelProgress.length > 0 && (

关卡进度

{user.levelProgress.map((progress) => (
{progress.levelId} {progress.level && ( {progress.level.answer} )}
{new Date(progress.completedAt).toLocaleDateString('zh-CN')}
))}
)}
) }