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 { CompanyForm } from '@features/companies/components/CompanyForm'; import { companiesApi } from '@features/companies/api'; import type { CreateCompanyDto, UpdateCompanyDto } from '@features/companies/types'; export function CompanyCreatePage() { const navigate = useNavigate(); const { showToast } = useToast(); const [isSubmitting, setIsSubmitting] = useState(false); const [error, setError] = useState(null); const handleSubmit = async (data: CreateCompanyDto | UpdateCompanyDto) => { const createData = data as CreateCompanyDto; setIsSubmitting(true); setError(null); try { const company = await companiesApi.create(createData); showToast({ type: 'success', title: 'Empresa creada', message: `${company.name} ha sido creada exitosamente.`, }); navigate('/companies'); } catch (err) { const message = err instanceof Error ? err.message : 'Error al crear empresa'; setError(message); } finally { setIsSubmitting(false); } }; return (

Nueva empresa

Crea una nueva empresa en el sistema

Información de la empresa {error && ( setError(null)} > {error} )} navigate('/companies')} isLoading={isSubmitting} />
); } export default CompanyCreatePage;