import { useState } from "react"; import { Modal, Button, Form } from "react-bootstrap"; type Props = { isOpen: boolean; onClose: () => void; onSubmit: (title: string, description: string) => Promise; }; /** Modální dialog pro přidání nového návrhu na vylepšení. */ export default function AddSuggestionModal({ isOpen, onClose, onSubmit }: Readonly) { const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [submitting, setSubmitting] = useState(false); const reset = () => { setTitle(""); setDescription(""); }; const handleClose = () => { reset(); onClose(); }; const handleSubmit = async () => { if (!title.trim() || !description.trim()) return; setSubmitting(true); try { await onSubmit(title.trim(), description.trim()); reset(); onClose(); } finally { setSubmitting(false); } }; return (

Nový návrh na vylepšení

Název setTitle(e.target.value)} onKeyDown={e => e.stopPropagation()} autoFocus /> Krátký, výstižný název navrhované úpravy. Popis setDescription(e.target.value)} onKeyDown={e => e.stopPropagation()} />
); }