"use client" import { useState } from "react" import { useRouter } from "next/navigation" export default function CreateUserForm() { const router = useRouter() const [name, setName] = useState("") const [email, setEmail] = useState("") const [password, setPassword] = useState("") const [role, setRole] = useState<"ADMIN" | "USER">("USER") const [error, setError] = useState("") const [success, setSuccess] = useState("") const [loading, setLoading] = useState(false) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError("") setSuccess("") setLoading(true) try { const response = await fetch("/api/admin/users", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name, email, password, role }), }) const data = await response.json() if (!response.ok) { setError(data.error || "Failed to create user") } else { setSuccess("User created successfully!") setName("") setEmail("") setPassword("") setRole("USER") router.refresh() setTimeout(() => { setSuccess("") }, 3000) } } catch { setError("An error occurred. Please try again.") } finally { setLoading(false) } } return (
) }