import { Form, HandleUseFormCallback, useForm } from 'react-component-form' import useTranslation from 'next-translate/useTranslation' import { Input } from './design/Input' import { Button } from './design/Button' import { useFormTranslation } from '../hooks/useFormTranslation' import { userSchema } from '../models/User' import { FormState } from './design/FormState' const simulateServerRequest = async (ms: number): Promise => { return await new Promise((resolve) => { setTimeout(resolve, ms) }) } export const FormExample: React.FC = () => { const { handleUseForm, errors, fetchState, message } = useForm(userSchema) const { getFirstErrorTranslation } = useFormTranslation() const { t } = useTranslation() const onSubmit: HandleUseFormCallback = async ( formData, formElement ) => { await simulateServerRequest(2000) console.log('onSubmit:', formData) formElement.reset() return { type: 'success', value: 'common:success-message' } } return (
) }