From 756fd8e17f89f49aea693cee432e15f80f6e6e0a Mon Sep 17 00:00:00 2001 From: JoelVR17 Date: Wed, 19 Feb 2025 16:21:12 -0600 Subject: [PATCH] feat: set form mode to "onChange" for improved validation in various hooks --- src/components/modules/contact/hooks/contact.hook.ts | 1 + src/components/modules/escrow/hooks/initialize-escrow.hook.ts | 1 + .../escrow/ui/dialogs/hooks/edit-milestones-dialog.hook.ts | 1 + .../modules/escrow/ui/dialogs/hooks/fund-escrow-dialog.hook.ts | 1 + .../ui/dialogs/hooks/resolve-dispute-escrow-dialog.hook.ts | 1 + .../modules/report-issue/hooks/send-report-issue.hook.ts | 1 + src/components/modules/setting/hooks/preferences-section.hook.ts | 1 + src/components/modules/setting/hooks/profile-section.hook.ts | 1 + 8 files changed, 8 insertions(+) diff --git a/src/components/modules/contact/hooks/contact.hook.ts b/src/components/modules/contact/hooks/contact.hook.ts index 8de0c404..6980c811 100644 --- a/src/components/modules/contact/hooks/contact.hook.ts +++ b/src/components/modules/contact/hooks/contact.hook.ts @@ -23,6 +23,7 @@ export const useContact = () => { email: "", address: "", }, + mode: "onChange", }); const onSubmit = async (payload: z.infer) => { diff --git a/src/components/modules/escrow/hooks/initialize-escrow.hook.ts b/src/components/modules/escrow/hooks/initialize-escrow.hook.ts index 21e77095..705ebb07 100644 --- a/src/components/modules/escrow/hooks/initialize-escrow.hook.ts +++ b/src/components/modules/escrow/hooks/initialize-escrow.hook.ts @@ -66,6 +66,7 @@ export const useInitializeEscrow = () => { disputeResolver: "", milestones: [{ description: "" }], }, + mode: "onChange", }); // Load stored form data when component mounts diff --git a/src/components/modules/escrow/ui/dialogs/hooks/edit-milestones-dialog.hook.ts b/src/components/modules/escrow/ui/dialogs/hooks/edit-milestones-dialog.hook.ts index 535641bf..115c70bd 100644 --- a/src/components/modules/escrow/ui/dialogs/hooks/edit-milestones-dialog.hook.ts +++ b/src/components/modules/escrow/ui/dialogs/hooks/edit-milestones-dialog.hook.ts @@ -41,6 +41,7 @@ const useEditMilestonesDialog = ({ defaultValues: { milestones: selectedEscrow?.milestones || [{ description: "" }], }, + mode: "onChange", }); const milestones: Milestone[] = form.watch("milestones"); diff --git a/src/components/modules/escrow/ui/dialogs/hooks/fund-escrow-dialog.hook.ts b/src/components/modules/escrow/ui/dialogs/hooks/fund-escrow-dialog.hook.ts index 46c9ff1c..4b983e0f 100644 --- a/src/components/modules/escrow/ui/dialogs/hooks/fund-escrow-dialog.hook.ts +++ b/src/components/modules/escrow/ui/dialogs/hooks/fund-escrow-dialog.hook.ts @@ -39,6 +39,7 @@ const useFundEscrowDialog = ({ defaultValues: { amount: "", }, + mode: "onChange", }); const onSubmit = async (payload: z.infer) => { diff --git a/src/components/modules/escrow/ui/dialogs/hooks/resolve-dispute-escrow-dialog.hook.ts b/src/components/modules/escrow/ui/dialogs/hooks/resolve-dispute-escrow-dialog.hook.ts index ab7733e0..7d53965f 100644 --- a/src/components/modules/escrow/ui/dialogs/hooks/resolve-dispute-escrow-dialog.hook.ts +++ b/src/components/modules/escrow/ui/dialogs/hooks/resolve-dispute-escrow-dialog.hook.ts @@ -50,6 +50,7 @@ const useResolveDisputeEscrowDialog = ({ approverFunds: "", serviceProviderFunds: "", }, + mode: "onChange", }); const onSubmit = async (payload: ResolveDisputePayload) => { diff --git a/src/components/modules/report-issue/hooks/send-report-issue.hook.ts b/src/components/modules/report-issue/hooks/send-report-issue.hook.ts index a9822810..724ec856 100644 --- a/src/components/modules/report-issue/hooks/send-report-issue.hook.ts +++ b/src/components/modules/report-issue/hooks/send-report-issue.hook.ts @@ -25,6 +25,7 @@ export const useSendReportIssue = () => { email: "", description: "", }, + mode: "onChange", }); const onSubmit = async (payload: z.infer) => { diff --git a/src/components/modules/setting/hooks/preferences-section.hook.ts b/src/components/modules/setting/hooks/preferences-section.hook.ts index f31f71e0..46bc555f 100644 --- a/src/components/modules/setting/hooks/preferences-section.hook.ts +++ b/src/components/modules/setting/hooks/preferences-section.hook.ts @@ -17,6 +17,7 @@ const usePreferences = ({ onSave }: usePreferencesProps) => { defaultValues: { saveEscrow: loggedUser?.saveEscrow || true, }, + mode: "onChange", }); const saveEscrow = form.watch("saveEscrow"); diff --git a/src/components/modules/setting/hooks/profile-section.hook.ts b/src/components/modules/setting/hooks/profile-section.hook.ts index e05f91a6..acadc706 100644 --- a/src/components/modules/setting/hooks/profile-section.hook.ts +++ b/src/components/modules/setting/hooks/profile-section.hook.ts @@ -31,6 +31,7 @@ const useProfile = ({ onSave }: useProfileProps) => { useCase: loggedUser?.useCase || "", profileImage: loggedUser?.profileImage || "", }, + mode: "onChange", }); const onSubmit = (data: UserPayload) => {