'use client'; import { useState } from 'react'; import { Modal } from '@/components/ui'; import FormField from '@/components/ui/FormField'; interface Props { isOpen: boolean; onClose: () => void; onCreate: (data: any) => void; } export default function ChecklistCreateModal({ isOpen, onClose, onCreate }: Props) { const [name, setName] = useState(''); const [domain, setDomain] = useState('ФАП-М'); const [items, setItems] = useState<{ code: string; text: string }[]>([{ code: 'P.001', text: '' }]); const addItem = () => setItems([...items, { code: `P.${String(items.length + 1).padStart(3, '0')}`, text: '' }]); const removeItem = (i: number) => setItems(items.filter((_, idx) => idx !== i)); const updateItem = (i: number, field: string, val: string) => setItems(items.map((it, idx) => idx === i ? { ...it, [field]: val } : it)); const handleCreate = () => { if (!name.trim()) return alert('Укажите название'); const validItems = items.filter(it => it.text.trim()); onCreate({ name, domain, version: 1, items: validItems.map((it, i) => ({ ...it, sort_order: i + 1 })) }); setName(''); setItems([{ code: 'P.001', text: '' }]); }; return ( }>
setName(e.target.value)} className="input-field" placeholder="Чек-лист инспекции" />

Пункты проверки ({items.length})

{items.map((item, i) => (
updateItem(i, 'code', e.target.value)} className="input-field w-24 text-xs font-mono" placeholder="P.001" /> updateItem(i, 'text', e.target.value)} className="input-field flex-1" placeholder="Текст пункта проверки..." />
))}
); }