From b8be02025e90e9783d1d3da6648bbee8b6c72792 Mon Sep 17 00:00:00 2001 From: ngc2207 Date: Tue, 3 Dec 2024 14:02:31 +0800 Subject: [PATCH] feat: refactor AdminCreateUserForm to use defaultValues and add reset functionality --- src/app/(main)/gitea/admin/users/page.tsx | 57 ++++++++++++++--------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/src/app/(main)/gitea/admin/users/page.tsx b/src/app/(main)/gitea/admin/users/page.tsx index 7e47f43..48c98b6 100644 --- a/src/app/(main)/gitea/admin/users/page.tsx +++ b/src/app/(main)/gitea/admin/users/page.tsx @@ -25,6 +25,7 @@ import { SelectValue, } from "@/components/ui/select"; import logger from "@/lib/logger"; +import { useEffect } from "react"; import { Loader2 } from "lucide-react"; import { useForm } from "react-hook-form"; import { useToast } from "@/hooks/use-toast"; @@ -53,20 +54,22 @@ const formSchema = z.object({ must_change_password: z.coerce.boolean().default(true), }); +const defaultValues: z.infer = { + source_id: 0, + visibility: "public", + username: "", + email: "", + password: "", + must_change_password: true, +}; + export default function AdminCreateUserForm() { const { toast } = useToast(); const { user, error, loading, adminCreateUser } = adminCreateUserStore(); const form = useForm>({ resolver: zodResolver(formSchema), - defaultValues: { - source_id: 0, - visibility: "public", - username: "", - email: "", - password: "", - must_change_password: true, - }, + defaultValues, }); function onSubmit(values: z.infer) { @@ -91,6 +94,14 @@ export default function AdminCreateUserForm() { } } + function onReset() { + form.reset(defaultValues); + } + + useEffect(() => { + form.reset(defaultValues); + }, [form]); + return (
@@ -109,7 +120,7 @@ export default function AdminCreateUserForm() { Authentication Source +