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;