import { Fragment } from 'react'; import { Button } from './Button'; import { IconX } from './icons'; import type { ModelEntry } from './modelInputListUtils'; interface ModelInputListProps { entries: ModelEntry[]; onChange: (entries: ModelEntry[]) => void; addLabel: string; disabled?: boolean; namePlaceholder?: string; aliasPlaceholder?: string; } export function ModelInputList({ entries, onChange, addLabel, disabled = false, namePlaceholder = 'model-name', aliasPlaceholder = 'alias (optional)' }: ModelInputListProps) { const currentEntries = entries.length ? entries : [{ name: '', alias: '' }]; const updateEntry = (index: number, field: 'name' | 'alias', value: string) => { const next = currentEntries.map((entry, idx) => (idx === index ? { ...entry, [field]: value } : entry)); onChange(next); }; const addEntry = () => { onChange([...currentEntries, { name: '', alias: '' }]); }; const removeEntry = (index: number) => { const next = currentEntries.filter((_, idx) => idx !== index); onChange(next.length ? next : [{ name: '', alias: '' }]); }; return (