| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
                        - import { useCallback } from 'react'
 - import type { AnyFormApi } from '@tanstack/react-form'
 - import { useToastContext } from '@/app/components/base/toast'
 - import type { FormSchema } from '@/app/components/base/form/types'
 - 
 - export const useCheckValidated = (form: AnyFormApi, FormSchemas: FormSchema[]) => {
 -   const { notify } = useToastContext()
 - 
 -   const checkValidated = useCallback(() => {
 -     const allError = form?.getAllErrors()
 -     const values = form.state.values
 - 
 -     if (allError) {
 -       const fields = allError.fields
 -       const errorArray = Object.keys(fields).reduce((acc: string[], key: string) => {
 -         const currentSchema = FormSchemas.find(schema => schema.name === key)
 -         const { show_on = [] } = currentSchema || {}
 -         const showOnValues = show_on.reduce((acc, condition) => {
 -           acc[condition.variable] = values[condition.variable]
 -           return acc
 -         }, {} as Record<string, any>)
 -         const show = show_on?.every((condition) => {
 -           const conditionValue = showOnValues[condition.variable]
 -           return conditionValue === condition.value
 -         })
 -         const errors: any[] = show ? fields[key].errors : []
 - 
 -         return [...acc, ...errors]
 -       }, [] as string[])
 - 
 -       if (errorArray.length) {
 -         notify({
 -           type: 'error',
 -           message: errorArray[0],
 -         })
 -         return false
 -       }
 - 
 -       return true
 -     }
 - 
 -     return true
 -   }, [form, notify, FormSchemas])
 - 
 -   return {
 -     checkValidated,
 -   }
 - }
 
 
  |