diff --git a/apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx b/apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx index d6b0d9d25..5bbc7b340 100644 --- a/apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx @@ -2,6 +2,7 @@ import { useRouter } from 'next/navigation'; +import { zodResolver } from '@hookform/resolvers/zod'; import { Loader } from 'lucide-react'; import { Controller, useForm } from 'react-hook-form'; @@ -10,10 +11,13 @@ import { Button } from '@documenso/ui/primitives/button'; import { Combobox } from '@documenso/ui/primitives/combobox'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; -import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { FormErrorMessage } from '../../../../../components/form/form-error-message'; +import { + TUserFormSchema, + ZUserFormSchema, +} from '../../../../../providers/admin-user-profile-update.types'; export default function UserPage({ params }: { params: { id: number } }) { const { toast } = useToast(); @@ -28,7 +32,9 @@ export default function UserPage({ params }: { params: { id: number } }) { }, ); - const roles = result.data?.roles; + const user = result.data; + + const roles = user?.roles; let rolesArr: string[] = []; if (roles) { @@ -42,29 +48,22 @@ export default function UserPage({ params }: { params: { id: number } }) { control, handleSubmit, formState: { errors, isSubmitting }, - } = useForm(); - - const onSubmit = async (data) => { - console.log(data); - - // const submittedRoles = data.roles - // .split(',') - // .map((role: string) => role.trim()) - // .map((role: string) => role.toUpperCase()); - - // const dbRoles = JSON.stringify(Role); - - // const roleExists = submittedRoles.some((role: string) => dbRoles.includes(role)); - // console.log('roleExists', roleExists); - - // console.log('db roles', dbRoles); + } = useForm({ + resolver: zodResolver(ZUserFormSchema), + values: { + name: user?.name ?? '', + email: user?.email ?? '', + roles: user?.roles ?? [], + }, + }); + const onSubmit = async ({ name, email, roles }: TUserFormSchema) => { try { await updateUserMutation({ - id: Number(result.data?.id), - name: data.name, - email: data.email, - roles: data.roles, + id: Number(user?.id), + name, + email, + roles, }); router.refresh(); @@ -86,20 +85,20 @@ export default function UserPage({ params }: { params: { id: number } }) { return (
-

Manage {result.data?.name}'s profile

+

Manage {user?.name}'s profile

- +
- +
@@ -115,26 +114,6 @@ export default function UserPage({ params }: { params: { id: number } }) { />
- {/*
- - -
- ( - onChange(v ?? '')} - /> - )} - /> - -
-
*/}