'use client'; import { Suspense, useState } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; import Link from 'next/link'; import { useAuth } from '@/contexts/AuthContext'; function LoginForm() { const { login } = useAuth(); const router = useRouter(); const searchParams = useSearchParams(); const returnTo = searchParams.get('returnTo') ?? '/'; const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); setLoading(true); const result = await login(email, password); setLoading(false); if (result.ok) { router.push(returnTo); } else { setError(result.error || 'Credenciales inválidas'); } }; return (

Iniciar sesión

{error && (
{error} {error.includes('no confirmado') && (
Solicitar nuevo enlace de confirmación
)}
)}
setEmail(e.target.value)} placeholder="tu@email.com" className="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-[#70ad47] focus:border-transparent outline-none" />
setPassword(e.target.value)} placeholder="••••••••" className="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-[#70ad47] focus:border-transparent outline-none" />
¿Olvidaste tu contraseña? ¿No tienes cuenta? Créala aquí
); } export default function LoginPage() { return ( ); }