import type { Library } from '../types' export interface SettingDef { key: string label: string type: 'text' | 'select' | 'toggle' | 'number' | 'textarea' | 'library-multiselect' hint?: string defaultValue?: string options?: { value: string; label: string }[] placeholder?: string } type SettingsRowProps = { def: SettingDef value: string onChange: (value: string) => void libraries?: Library[] } export function SettingRow({ def, value, onChange, libraries = [] }: SettingsRowProps) { const toggleOn = value === 'true' || value === '1' || value === 'on' const selectedLibraryIDs = parseLibraryIDs(value) const toggleLibrary = (id: string, checked: boolean) => { const next = checked ? Array.from(new Set([...selectedLibraryIDs, id])) : selectedLibraryIDs.filter((item) => item !== id) onChange(JSON.stringify(next)) } return (
{def.type === 'text' && ( onChange(event.target.value)} /> )} {def.type === 'number' && ( onChange(event.target.value)} /> )} {def.type === 'textarea' && (