'use client'; import { useState } from 'react'; import Link from 'next/link'; import { useLanguage } from '@/context/LanguageContext'; import { useAuth } from '@/context/AuthContext'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import Input from '@/components/ui/Input'; import GoogleSignInButton from '@/components/GoogleSignInButton'; import { redirectAfterAuth } from '@/lib/authRedirect'; import toast from 'react-hot-toast'; const REDIRECT_TO = '/dashboard'; export default function RegisterPage() { const { t, locale: language } = useLanguage(); const { register } = useAuth(); const [loading, setLoading] = useState(false); const [redirecting, setRedirecting] = useState(false); const [formData, setFormData] = useState({ name: '', email: '', password: '', phone: '', }); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); try { await register(formData); toast.success(language === 'es' ? 'Cuenta creada exitosamente!' : 'Account created successfully!'); // Deliberately leaves `loading` set: the button must stay disabled until the // browser replaces this page. setRedirecting(true); redirectAfterAuth(REDIRECT_TO); } catch (error: any) { toast.error(error.message || t('auth.errors.emailExists')); setLoading(false); } }; return (
{t('auth.register.subtitle')}
{t('auth.register.hasAccount')}{' '} {t('auth.register.login')}