'use client'; import { Image as ImageIcon, Code, FileQuestion, ChevronRight } from 'lucide-react'; import { clsx } from 'clsx'; import { TASK_LABELS, CATEGORY_LABELS } from '@/config/constants'; import type { DatasetExample } from '@/types'; interface ExampleCardProps { example: DatasetExample; onSelect: (example: DatasetExample) => void; isSelected?: boolean; } export function ExampleCard({ example, onSelect, isSelected }: ExampleCardProps) { const taskConfig = TASK_LABELS[example.type]; const categoryConfig = CATEGORY_LABELS[example.category]; const getTaskIcon = () => { switch (example.type) { case 'function_completion': return ; case 'code_generation': return ; case 'qa': return ; } }; const truncateText = (text: string, maxLength: number) => { if (text.length <= maxLength) return text; return text.substring(0, maxLength).trim() + '...'; }; // Muted badge colors const badgeColors: Record = { function_completion: 'bg-emerald-900/30 text-emerald-400 border-emerald-700/30', code_generation: 'bg-blue-900/30 text-blue-400 border-blue-700/30', qa: 'bg-amber-900/30 text-amber-400 border-amber-700/30', }; return ( ); }