'use client'; import { FormEvent, useState, useEffect } from 'react'; import { useAuth } from '@/contexts/AuthContext'; import { useRouter } from 'next/navigation'; export default function AuthPage() { const { login, register, isLoading, user } = useAuth(); const router = useRouter(); const [mode, setMode] = useState<'login' | 'register'>('login'); const [email, setEmail] = useState(''); const [name, setName] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(null); // Redirect if already logged in useEffect(() => { if (user) { router.push('/dashboard'); } }, [user, router]); const handleSubmit = async (e: FormEvent) => { e.preventDefault(); setError(null); try { if (mode === 'login') { await login(email, password); } else { await register(email, password, name); } // Will auto-redirect via useEffect when user state updates } catch (err: any) { setError(err.message || 'Something went wrong'); } }; return (

HolaCompi

{mode === 'login' ? 'Welcome back, sign in to continue' : 'Create your HolaCompi account'}

{error && (
{error}
)} {user && (
Logged in as {user.email}
)}
{mode === 'register' && (
setName(e.target.value)} required />
)}
setEmail(e.target.value)} required />
setPassword(e.target.value)} required />
); }