import { type FormEvent, useState } from 'react' import { Link, useNavigate } from 'react-router-dom' import { createUserRecord } from '../../api/session' /** CI `user/create.php` — admin create user (expects Laravel `POST /api/v1/users`). */ export function UserCreatePage() { const navigate = useNavigate() const [error, setError] = useState(null) const [form, setForm] = useState({ password: '', firstname: '', lastname: '', cellphone: '', email: '', address_street: '', city: '', state: '', zip: '', role: '', accept_school_policy: false, }) async function onSubmit(e: FormEvent) { e.preventDefault() try { await createUserRecord({ ...form, accept_school_policy: form.accept_school_policy ? 1 : 0, }) navigate('/app/user/user-list') } catch (err) { setError(err instanceof Error ? err.message : 'Create failed.') } } return (

Create User

{error ?
{error}
: null}
void onSubmit(e)} className="row g-3" style={{ maxWidth: 560 }}>
setForm((c) => ({ ...c, password: e.target.value }))} />
setForm((c) => ({ ...c, firstname: e.target.value }))} />
setForm((c) => ({ ...c, lastname: e.target.value }))} />
setForm((c) => ({ ...c, cellphone: e.target.value }))} />
setForm((c) => ({ ...c, email: e.target.value }))} />
setForm((c) => ({ ...c, address_street: e.target.value }))} />
setForm((c) => ({ ...c, city: e.target.value }))} />
setForm((c) => ({ ...c, state: e.target.value }))} />
setForm((c) => ({ ...c, zip: e.target.value }))} />
setForm((c) => ({ ...c, role: e.target.value }))} />
setForm((c) => ({ ...c, accept_school_policy: e.target.checked }))} />
Cancel
) }