"use client" import { Star, Code2, Repeat } from "lucide-react" import { Badge } from "@/components/ui/badge" import { cn } from "@/lib/utils" import type { KnowledgeItem } from "@/lib/types" import { DIFFICULTY_META, MASTERY_META } from "@/lib/types" export function KnowledgeCard({ item, onOpen, onToggleFav, onTagClick, }: { item: KnowledgeItem onOpen: () => void onToggleFav: () => void onTagClick: (tag: string) => void }) { const diff = DIFFICULTY_META[item.difficulty] const mastery = MASTERY_META[item.mastery] return (
{item.category} {mastery.label}

{item.title}

{item.summary && (

{item.summary}

)} {item.tags.length > 0 && (
{item.tags.slice(0, 4).map((t) => ( ))}
)}
{diff.label}
{item.code_snippet && } {item.review_count}
) }