Skip to content
Snippets Groups Projects
Commit 4fbd1f0c authored by Embruch, Gerd's avatar Embruch, Gerd
Browse files

fixed users update

parent 8f9f9509
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,8 @@ function User({ user, idx, setConfirmDialog }) { ...@@ -19,7 +19,8 @@ function User({ user, idx, setConfirmDialog }) {
name: z.string().min(2), name: z.string().min(2),
username: z.string().min(2), username: z.string().min(2),
email: z.string().min(1).email(), email: z.string().min(1).email(),
verified: z.string().transform((val) => val === 'true' ? true : false), // turn string into boolean
verified: z.string().toLowerCase().transform((x) => x === 'true').pipe(z.boolean()),
role: z.coerce.number() role: z.coerce.number()
}); });
// ################################# // #################################
...@@ -32,8 +33,9 @@ function User({ user, idx, setConfirmDialog }) { ...@@ -32,8 +33,9 @@ function User({ user, idx, setConfirmDialog }) {
// ### PREPARE FORM // ### PREPARE FORM
const methods = useForm({ const methods = useForm({
resolver: zodResolver(schema), resolver: zodResolver(schema),
mode: 'onBlur', mode: 'onChange',
defaultValues: user // use anything from user, but turn verified into string
defaultValues: { ...user, verified: user.verified.toString() }
}); });
...@@ -70,7 +72,7 @@ function User({ user, idx, setConfirmDialog }) { ...@@ -70,7 +72,7 @@ function User({ user, idx, setConfirmDialog }) {
<RiDeleteBinLine className='cursor-pointer hover:text-UhhRed' title='delete user' onClick={() => setConfirmDialog({ open: true, idToDelete: user.id, displayName: user.username })} /> <RiDeleteBinLine className='cursor-pointer hover:text-UhhRed' title='delete user' onClick={() => setConfirmDialog({ open: true, idToDelete: user.id, displayName: user.username })} />
</h2> </h2>
<FormProvider {...methods} > <FormProvider {...methods} >
<form onSubmit={methods.handleSubmit(handleSendForm)} noValidate> <form onSubmit={methods.handleSubmit(handleSendForm)}>
<Input name='name' type='text' title='name' required={true} /> <Input name='name' type='text' title='name' required={true} />
<Input name='username' type='text' title='username' required={true} /> <Input name='username' type='text' title='username' required={true} />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment