import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { ArrowLeft } from 'lucide-react'; import { Button } from '@components/atoms/Button'; import { Card, CardHeader, CardTitle, CardContent } from '@components/molecules/Card'; import { Alert } from '@components/molecules/Alert'; import { Breadcrumbs } from '@components/organisms/Breadcrumbs'; import { useToast } from '@components/organisms/Toast'; import { PartnerForm } from '@features/partners/components/PartnerForm'; import { partnersApi } from '@features/partners/api'; import type { CreatePartnerDto, UpdatePartnerDto } from '@features/partners/types'; export function PartnerCreatePage() { const navigate = useNavigate(); const { showToast } = useToast(); const [isSubmitting, setIsSubmitting] = useState(false); const [error, setError] = useState(null); const handleSubmit = async (data: CreatePartnerDto | UpdatePartnerDto) => { const createData = data as CreatePartnerDto; setIsSubmitting(true); setError(null); try { const partner = await partnersApi.create(createData); showToast({ type: 'success', title: 'Partner creado', message: `${partner.name} ha sido creado exitosamente.`, }); navigate('/partners'); } catch (err) { const message = err instanceof Error ? err.message : 'Error al crear partner'; setError(message); } finally { setIsSubmitting(false); } }; return (

Nuevo partner

Crea un nuevo cliente, proveedor o contacto

Información del partner {error && ( setError(null)} > {error} )} navigate('/partners')} isLoading={isSubmitting} />
); } export default PartnerCreatePage;