Skip to content

Commit

Permalink
fix(forms): formState useForm rules proxy
Browse files Browse the repository at this point in the history
  • Loading branch information
OverGlass committed Sep 24, 2024
1 parent d19ed92 commit db03a4a
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/screens/actions/form/ActionForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export default function ActionForm({ onCancel, onClose, uuid, scope }: Props) {
if (formState.errors.post_address) {
setManualAddress(true)
}
}, [formState.errors.post_address])
}, [formState])

if ((!data || !isFullAction(data)) && uuid) return null

Expand Down
7 changes: 4 additions & 3 deletions src/screens/profil/account/form/AbstractProfilForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,13 @@ const AbstractForm = <T extends z.Schema<any, any>, TF extends FieldValues>(
defaultValues: props.defaultValues,
mode: 'all',
})
const { isDirty, isValid } = formState

React.useEffect(() => {
if (props.onErrors) {
props.onErrors(formState.errors)
}
}, [formState.errors])
}, [formState])

const { mutateAsync, isPending } = useMutationUpdateProfil({ userUuid: props.uuid })

Expand All @@ -60,10 +61,10 @@ const AbstractForm = <T extends z.Schema<any, any>, TF extends FieldValues>(
<VoxCard.Content>
{props.children({ control, formState })}
<XStack justifyContent="flex-end" gap="$2">
<VoxButton variant="outlined" display={formState.isDirty ? 'flex' : 'none'} onPress={() => reset()}>
<VoxButton variant="outlined" display={isDirty ? 'flex' : 'none'} onPress={() => reset()}>
Annuler
</VoxButton>
<VoxButton variant="outlined" theme="blue" onPress={onSubmit} loading={isPending} disabled={!formState.isDirty || !formState.isValid}>
<VoxButton variant="outlined" theme="blue" onPress={onSubmit} loading={isPending} disabled={!isDirty || !isValid}>
Enregister
</VoxButton>
</XStack>
Expand Down
5 changes: 3 additions & 2 deletions src/screens/profil/elu/components/DeclaForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export default function (props: Props) {
})

const { mutateAsync, isPending } = usePostElectDeclaration()
const { isDirty, isValid } = formState

const onSubmit = handleSubmit((data) => {
mutateAsync(data)
Expand Down Expand Up @@ -89,10 +90,10 @@ export default function (props: Props) {
}}
/>
<XStack justifyContent="flex-end" gap="$2">
<VoxButton variant="outlined" display={formState.isDirty ? 'flex' : 'none'} onPress={() => reset()}>
<VoxButton variant="outlined" display={isDirty ? 'flex' : 'none'} onPress={() => reset()}>
Annuler
</VoxButton>
<VoxButton variant="outlined" theme="blue" onPress={onSubmit} loading={isPending} disabled={!formState.isDirty || !formState.isValid}>
<VoxButton variant="outlined" theme="blue" onPress={onSubmit} loading={isPending} disabled={!isDirty || !isValid}>
Enregister
</VoxButton>
</XStack>
Expand Down
5 changes: 3 additions & 2 deletions src/screens/profil/elu/components/DeclaMandateEluCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ export default function (props: { profil: RestElectedProfileResponse }) {
mandates: props.profil?.mandates || [],
},
})
const { isDirty } = formState
const { mutateAsync, isPending } = useMutationUpdateProfil({ userUuid: props.profil.uuid })
const onSubmit = handleSubmit((x) =>
mutateAsync(x).then(() => {
Expand All @@ -103,10 +104,10 @@ export default function (props: { profil: RestElectedProfileResponse }) {
}}
/>
<XStack justifyContent="flex-end" gap="$3">
<VoxButton variant="outlined" disabled={!formState.isDirty} onPress={() => reset()}>
<VoxButton variant="outlined" disabled={!isDirty} onPress={() => reset()}>
Annuler
</VoxButton>
<VoxButton theme="blue" variant="outlined" loading={isPending} onPress={onSubmit} disabled={!formState.isDirty}>
<VoxButton theme="blue" variant="outlined" loading={isPending} onPress={onSubmit} disabled={!isDirty}>
Enregistrer
</VoxButton>
</XStack>
Expand Down
6 changes: 4 additions & 2 deletions src/screens/profil/elu/components/IbanForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ export default function (props: Props) {
mode: 'all',
})

const { isDirty, isValid } = formState

const { mutateAsync, isPending } = usePostElectPayment()

const onSubmit = handleSubmit((data) => {
Expand Down Expand Up @@ -178,10 +180,10 @@ export default function (props: Props) {
}}
/>
<XStack justifyContent="flex-end" gap="$2">
<VoxButton variant="outlined" display={formState.isDirty ? 'flex' : 'none'} onPress={() => reset()}>
<VoxButton variant="outlined" display={isDirty ? 'flex' : 'none'} onPress={() => reset()}>
Annuler
</VoxButton>
<VoxButton variant="outlined" theme="blue" onPress={onSubmit} loading={isPending} disabled={!formState.isDirty || !formState.isValid}>
<VoxButton variant="outlined" theme="blue" onPress={onSubmit} loading={isPending} disabled={!isDirty || !isValid}>
Enregister
</VoxButton>
</XStack>
Expand Down

0 comments on commit db03a4a

Please sign in to comment.