import { Tag } from '@/components/ui/tag' import { cn, formatNumberToKMB } from '@/lib/utils' import { AIPermission, AiUserBaseListOutput } from '@/services/create' import Image from 'next/image' import Link from 'next/link' const CharacterCard = ({ character, isHovered, onHover, }: { character: AiUserBaseListOutput isHovered: boolean onHover: (hovered: boolean) => void }) => { // 根据权限判断是否私密 const isPrivate = character.permission === AIPermission.Private return (
onHover(true)} onMouseLeave={() => onHover(false)} > {/* 角色图片 */}
{character.nickname {/* 私密标识 */}
{/* 底部遮罩层 */}
{/* 描述文字 - hover时显示,带过渡动效 */}
{character.introduction || ''}
{/* 点赞数 - 暂时用固定值,实际应该从API获取 */}
{/* 点赞 */} {formatNumberToKMB(character.likedNum ?? 0)}
{/* 角色信息 */}
{/* 角色名称 */}
{character.nickname}
{/* 标签 */}
{/* 性格标签 */} {character.characterName && {character.characterName}} {/* 标签 */} {character.tagName && {character.tagName}}
) } export default CharacterCard