import Link from "next/link"; import { BookOpen, ChevronRight, Clock3, Sparkles } from "lucide-react"; import { Badge } from "@/components/ui/Badge"; import type { ProjectResponse } from "@/lib/api/types"; import { formatProjectUpdatedAt, pendingReviewCount, } from "@/lib/projects/projects"; import { cardClass } from "@/lib/ui/variants"; interface ProjectCardProps { project: ProjectResponse; compact?: boolean; } // 作品卡(UX §6.1):书名衬线大字、题材、一句话故事。 // M1 无字数/章数/待办统计端点 → 暂不展示该徽标(避免编造 API)。 export function ProjectCard({ project, compact = false }: ProjectCardProps) { const pendingCount = pendingReviewCount(project); const updatedLabel = formatProjectUpdatedAt(project.updated_at); if (compact) { return ( 〈{project.title || "未命名作品"}〉 {project.genre ? {project.genre} : null} {pendingCount > 0 ? ( {pendingCount} 待审 ) : null} {project.logline ?? "暂无一句话故事"} 最近编辑 {updatedLabel}