import { useState } from 'react' import type { FormEvent } from 'react' import { Link, useNavigate } from 'react-router-dom' import { ApiError } from '../api/client' import { useAuth } from '../context/AuthContext' export function RegisterPage() { const { register } = useAuth() const navigate = useNavigate() const [email, setEmail] = useState('') const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [error, setError] = useState(null) const [submitting, setSubmitting] = useState(false) const handleSubmit = async (event: FormEvent) => { event.preventDefault() setError(null) setSubmitting(true) try { await register(email, username, password) navigate('/') } catch (err) { if (err instanceof ApiError) { setError(JSON.stringify(err.body)) } else { setError('Could not create account.') } } finally { setSubmitting(false) } } return (

Create your account

setEmail(e.target.value)} required /> setUsername(e.target.value)} required /> setPassword(e.target.value)} required /> {error &&

{error}

}

Already have an account? Sign in

) }