Skip to content

Commit 51ffe30

Browse files
authored
fix onboarding form abstraction (#944)
1 parent e63cd1d commit 51ffe30

1 file changed

Lines changed: 5 additions & 25 deletions

File tree

src/flows/Onboarding/components/OnboardingForm.tsx

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';
22
import { Form } from '@/src/components/ui/form';
33
import { useEffect } from 'react';
44
import { useOnboardingContext } from '@/src/flows/Onboarding/context';
5-
import { useForm } from 'react-hook-form';
6-
import { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';
75
import { JSFFields } from '@/src/types/remoteFlows';
86
import {
97
BasicInformationFormPayload,
@@ -12,6 +10,7 @@ import {
1210
} from '@/src/flows/Onboarding/types';
1311
import { $TSFixMe, Components } from '@/src/types/remoteFlows';
1412
import { normalizeFieldErrors } from '@/src/lib/mutations';
13+
import { useJSONSchemaForm } from '@/src/components/form/useJSONSchemaForm';
1514

1615
type OnboardingFormProps = {
1716
onSubmit: (
@@ -32,15 +31,10 @@ export function OnboardingForm({
3231
}: OnboardingFormProps) {
3332
const { formId, onboardingBag } = useOnboardingContext();
3433

35-
const resolver = useJsonSchemasValidationFormResolver(
36-
onboardingBag.handleValidation,
37-
);
38-
39-
const form = useForm({
40-
resolver,
41-
defaultValues,
42-
shouldUnregister: false,
43-
mode: 'onBlur',
34+
const form = useJSONSchemaForm({
35+
handleValidation: onboardingBag.handleValidation,
36+
defaultValues: defaultValues,
37+
checkFieldUpdates: onboardingBag.checkFieldUpdates,
4438
});
4539

4640
useEffect(() => {
@@ -52,20 +46,6 @@ export function OnboardingForm({
5246
// eslint-disable-next-line react-hooks/exhaustive-deps
5347
}, []);
5448

55-
useEffect(() => {
56-
const subscription = form?.watch((values) => {
57-
const isAnyFieldDirty = Object.keys(values).some(
58-
(key) =>
59-
values[key as keyof unknown] !== defaultValues[key as keyof unknown],
60-
);
61-
if (isAnyFieldDirty) {
62-
onboardingBag?.checkFieldUpdates(values);
63-
}
64-
});
65-
return () => subscription?.unsubscribe();
66-
// eslint-disable-next-line react-hooks/exhaustive-deps
67-
}, []);
68-
6949
const handleSubmit = async (
7050
values: Record<string, unknown>,
7151
event?: React.BaseSyntheticEvent,

0 commit comments

Comments
 (0)