import { useState } from "react"; import { createClient } from "../api/clients"; import { useTranslation } from "../hooks/useTranslation"; import { Button } from "./ui/button"; import { Input } from "./ui/input"; import { Modal } from "./Modal"; import { TextAreaInput } from "./ui/TextAreaInput"; interface CreateClientModalProps { isOpen: boolean; onClose: () => void; onSuccess: () => void; workspaceId: string; } export default function CreateClientModal({ isOpen, onClose, onSuccess, workspaceId }: CreateClientModalProps) { const { t } = useTranslation(); const [name, setName] = useState(""); const [notes, setNotes] = useState(""); const [isLoading, setIsLoading] = useState(false); const handleSubmit = async () => { if (!name.trim()) return; setIsLoading(true); try { await createClient(workspaceId, { name, notes }); onSuccess(); setName(""); setNotes(""); onClose(); } catch (error) { console.error(t.clients.errors.createFailed, error); } finally { setIsLoading(false); } }; const footer = ( <> {t.actions?.cancel} {isLoading ? "..." : t.clients.create} > ); return ( {t.clients.clientName} setName(e.target.value)} placeholder={t.clients.clientNamePlaceholder} /> {t.clients.notes} setNotes(e.target.value)} placeholder={t.clients.notesPlaceholder} /> ); }