'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; import { Button, Input, Label, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@horux/shared-ui'; import { register } from '@/lib/api/auth'; import { useAuthStore } from '@/stores/auth-store'; export default function RegisterPage() { const router = useRouter(); const { setUser, setTokens } = useAuthStore(); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(''); const [acceptedTerms, setAcceptedTerms] = useState(false); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!acceptedTerms) { setError('Debes aceptar los términos y condiciones para continuar.'); return; } setIsLoading(true); setError(''); const formData = new FormData(e.currentTarget); try { const response = await register({ empresa: { nombre: formData.get('empresaNombre') as string, rfc: formData.get('empresaRfc') as string, }, usuario: { nombre: formData.get('nombre') as string, email: formData.get('email') as string, password: formData.get('password') as string, }, }); setTokens(response.accessToken, response.refreshToken); setUser(response.user); router.push('/dashboard'); } catch (err: any) { setError(err.response?.data?.message || 'Error al registrarse'); } finally { setIsLoading(false); } } return (
Crear Cuenta Registra tu empresa y comienza tu prueba gratuita
{error && (
{error}
)}

¿Ya tienes cuenta?{' '} Inicia sesión

); }