From 4fbd1f0c7d21c700ba270e527f272c2f48cbfe0e Mon Sep 17 00:00:00 2001
From: "Embruch, Gerd" <gerd.embruch@uni-hamburg.de>
Date: Sat, 10 Aug 2024 20:50:42 +0200
Subject: [PATCH] fixed users update

---
 src/pages/User/List/User.jsx | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/pages/User/List/User.jsx b/src/pages/User/List/User.jsx
index 07a55a2..bbaf168 100644
--- a/src/pages/User/List/User.jsx
+++ b/src/pages/User/List/User.jsx
@@ -19,7 +19,8 @@ function User({ user, idx, setConfirmDialog }) {
     name: z.string().min(2),
     username: z.string().min(2),
     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()
   });
   // #################################
@@ -32,8 +33,9 @@ function User({ user, idx, setConfirmDialog }) {
   // ### PREPARE FORM
   const methods = useForm({
     resolver: zodResolver(schema),
-    mode: 'onBlur',
-    defaultValues: user
+    mode: 'onChange',
+    // use anything from user, but turn verified into string
+    defaultValues: { ...user, verified: user.verified.toString() }
   });
 
 
@@ -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 })} />
             </h2>
             <FormProvider {...methods} >
-              <form onSubmit={methods.handleSubmit(handleSendForm)} noValidate>
+              <form onSubmit={methods.handleSubmit(handleSendForm)}>
                 <Input name='name' type='text' title='name' required={true} />
 
                 <Input name='username' type='text' title='username' required={true} />
-- 
GitLab