"use client" import { Form, useForm } from "react-component-form" import type { HandleUseFormCallback } 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 fakeServerRequest = 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 fakeServerRequest(2_000) console.log("onSubmit:", formData) formElement.reset() return { type: "success", message: "common:success-message", } } return (
) }