"use client"; import { Copy, Pencil, Sparkles, Trash2, Video } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; import type { AgentPreset } from "@/types/agent"; interface AgentPresetCardProps { preset: AgentPreset; selected?: boolean; onSelect: (presetId: string) => void; onFork?: (preset: AgentPreset) => void; onEdit?: (preset: AgentPreset) => void; onDelete?: (preset: AgentPreset) => void; } export function AgentPresetCard({ preset, selected = false, onSelect, onFork, onEdit, onDelete, }: AgentPresetCardProps) { return (
{preset.type === "video" ? (
{preset.type === "video" ? "视频" : "生图"} {preset.visibility === "public" ? "公共" : "私有"} {preset.category?.name ? ( {preset.category.name} ) : null}
{preset.avatarUrl || preset.referenceAssets?.[0]?.thumbnailUrl || preset.referenceAssets?.[0]?.originalUrl ? ( {preset.name} ) : null}
模型:{preset.defaultModel?.displayName || "未设置"}
槽位:{preset.slotCount} 个
需上传:{preset.requiredUploadCount} 张
{preset.visibility === "private" && onEdit ? ( ) : null} {preset.visibility === "private" && onDelete ? ( ) : null} {preset.visibility === "public" && onFork ? ( ) : null}
); }