import { UnsavedChangesProvider, useUnsavedChangesContext } from "@erp/core/hooks"; import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@repo/shadcn-ui/components"; import { Plus } from "lucide-react"; import { useId } from 'react'; import { useTranslation } from "../../i18n"; import { useCustomerCreateController } from '../../pages/create/use-customer-create-controller'; import { CustomerFormData } from "../../schemas"; import { CustomerEditForm } from '../editor'; type CustomerCreateModalProps = { open: boolean; onOpenChange: (open: boolean) => void; client: CustomerFormData; onChange: (customer: CustomerFormData) => void; onSubmit: () => void; // ← mantenemos tu firma (no se usa directamente aquí) }; export function CustomerCreateModal({ open, onOpenChange, }: CustomerCreateModalProps) { const { t } = useTranslation(); const formId = useId(); const { form, isCreating, isCreateError, createError, handleSubmit, handleError, FormProvider } = useCustomerCreateController(); const { isDirty } = form.formState; const guardClose = async (nextOpen: boolean) => { if (nextOpen) return onOpenChange(true); if (isCreating) return; const { requestConfirm } = useUnsavedChangesContext(); const ok = await requestConfirm(); if (ok) onOpenChange(false); }; return ( {t("pages.create.title")} {t("pages.create.subtitle")}
handleSubmit(data, () => onOpenChange(false))} onError={handleError} className="max-w-none" /> {isCreateError && (

{(createError as Error)?.message}

)}
); }