import { useState, type FormEvent } from 'react' import { useNavigate } from 'react-router-dom' import { identity } from '@/api/client' import { PageHeader } from '@/components/PageHeader' import { ErrorBox } from '@/components/ErrorBox' export function CreateUserPage() { const navigate = useNavigate() const [username, setUsername] = useState('') const [displayName, setDisplayName] = useState('') const [email, setEmail] = useState('') const [submitting, setSubmitting] = useState(false) const [error, setError] = useState(null) const onSubmit = async (e: FormEvent) => { e.preventDefault() setError(null) setSubmitting(true) try { const user = await identity.createUser({ username, displayName, email: email || null, }) navigate(`/users/${user.id}`) } catch (err: unknown) { setError(err instanceof Error ? err : new Error(String(err))) } finally { setSubmitting(false) } } return (
navigate('/users')}>Cancel} />
setUsername(e.target.value)} placeholder="jdoe" className="mt-1 w-full rounded-md border border-slate-300 px-3 py-2 text-sm" />
setDisplayName(e.target.value)} placeholder="Jane Doe" className="mt-1 w-full rounded-md border border-slate-300 px-3 py-2 text-sm" />
setEmail(e.target.value)} className="mt-1 w-full rounded-md border border-slate-300 px-3 py-2 text-sm" />
{error && }
) }