From 4cacc6b3d12e47fdc8a0f28d07a6394cdc2b41e4 Mon Sep 17 00:00:00 2001 From: Lorenzo Migliorero Date: Thu, 25 Jul 2024 09:15:13 +0200 Subject: [PATCH] fix: type --- .../application/domains/add-domain.tsx | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/components/dashboard/application/domains/add-domain.tsx b/components/dashboard/application/domains/add-domain.tsx index b8ccae1c..623779dd 100644 --- a/components/dashboard/application/domains/add-domain.tsx +++ b/components/dashboard/application/domains/add-domain.tsx @@ -37,12 +37,11 @@ const hostnameRegex = /^[a-zA-Z0-9][a-zA-Z0-9\.-]*\.[a-zA-Z]{2,}$/; const domain = z.object({ host: z.string().regex(hostnameRegex, { message: "Invalid hostname" }), - path: z.string().min(1).nullable(), + path: z.string().min(1), port: z .number() .min(1, { message: "Port must be at least 1" }) - .max(65535, { message: "Port must be 65535 or below" }) - .nullable(), + .max(65535, { message: "Port must be 65535 or below" }), https: z.boolean(), certificateType: z.enum(["letsencrypt", "none"]), }); @@ -75,20 +74,26 @@ export const AddDomain = ({ ? api.domain.update.useMutation() : api.domain.create.useMutation(); + const defaultValues: Domain = { + host: "", + https: false, + path: "/", + port: 3000, + certificateType: "none", + }; + const form = useForm({ - defaultValues: { - host: "", - https: false, - path: "/", - port: 3000, - certificateType: "none", - }, + defaultValues, resolver: zodResolver(domain), }); useEffect(() => { if (data) { - form.reset(data); + form.reset({ + ...data, + path: data.path || defaultValues.path, + port: data.port || defaultValues.port, + }); } }, [form, form.reset, data]); @@ -107,11 +112,7 @@ export const AddDomain = ({ await mutateAsync({ domainId, applicationId, - host: data.host, - https: data.https, - path: data.path, - port: data.port, - certificateType: data.certificateType, + ...data, }) .then(async () => { toast.success(dictionary.success);