import { useState } from "react"; import { toast } from "sonner"; import { Button } from "../../../components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "../../../components/ui/dialog"; import { authClient } from "../../../lib/auth-client"; import { selectableRoles } from "../../../lib/auth-permissions"; import { useAppForm } from "../../../lib/formSutff"; export default function NewUser({ refetch }: { refetch: any }) { const [open, setOpen] = useState(false); const form = useAppForm({ defaultValues: { name: "", email: "", password: "", role: "", username: "", }, onSubmit: async ({ value }) => { if (value.name === "" || value.email === "" || value.password === "") { toast.error("Missing Mandatory data please try again "); return; } try { const { data, error } = await authClient.admin.createUser({ email: value.email, // required password: value.password, // required name: value.name, // required role: (value.role ?? "user") as any, data: { username: value.username }, }); if (data?.user) { toast.success(`${value.name}, was just created `); form.reset(); setOpen(false); refetch(); } if (error) { toast.error(error.message); return; } } catch (error) { console.error(error); } }, }); const closeModel = (e: boolean) => { setOpen(e); if (!e) { form.reset(); } }; const openForm = () => { setOpen(true); }; return ( closeModel(e)} open={open}> Create New Scan user.
{ e.preventDefault(); form.handleSubmit(); }} >
{(field) => ( )}

Username can be your windows or anything, if you do not fill this out your name is used as your username

{(field) => ( )}
{(field) => ( )}
{(field) => ( )}
{(field) => ( )}
Submit
); }