"use client" import { PlusCircle, Pencil, Trash2, Tag } from "lucide-react" import { useTranslations } from "next-intl" import type { KnowledgePoint } from "../types" import { cn } from "@/shared/lib/utils" import { ScrollArea } from "@/shared/components/ui/scroll-area" import { Badge } from "@/shared/components/ui/badge" import { Button } from "@/shared/components/ui/button" import { EmptyState } from "@/shared/components/ui/empty-state" interface KnowledgePointListProps { knowledgePoints: KnowledgePoint[] canEdit: boolean /** 是否有创建题目权限(控制"创建相关题目"按钮可见性) */ canCreateQuestion?: boolean highlightedKpId: string | null onHighlight: (id: string) => void onEdit: (kp: KnowledgePoint) => void onDelete: (kpId: string, e: React.MouseEvent) => void onCreateQuestion: (kp: KnowledgePoint) => void } export function KnowledgePointList({ knowledgePoints, canEdit, canCreateQuestion = false, highlightedKpId, onHighlight, onEdit, onDelete, onCreateQuestion, }: KnowledgePointListProps) { const t = useTranslations("textbooks") if (knowledgePoints.length === 0) { return ( ) } return (
{knowledgePoints.map((kp) => ( )}
)} {kp.description && (

{kp.description}

)} ))}
) }