import { useState, type FormEvent, type ReactElement } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { signUp } from '@/lib/auth-client'; export function RegisterPage(): ReactElement { const navigate = useNavigate(); const [error, setError] = useState(null); const [loading, setLoading] = useState(false); async function handleSubmit(event: FormEvent): Promise { event.preventDefault(); setError(null); setLoading(true); const form = new FormData(event.currentTarget); const name = String(form.get('name') ?? ''); const email = String(form.get('email') ?? ''); const password = String(form.get('password') ?? ''); try { const result = await signUp.email({ name, email, password }); if (result.error) { setError(result.error.message ?? 'Registration failed'); return; } navigate('/chat', { replace: true }); } catch (caught: unknown) { setError(caught instanceof Error ? caught.message : 'Registration failed'); } finally { setLoading(false); } } return (

Create account

Get started with Mosaic

{error ? (
{error}
) : null}

Already have an account?{' '} Sign in

); }