import { typeboxResolver } from "@hookform/resolvers/typebox"; import { TextInput, Textarea } from "@mantine/core"; import { useFocusTrap } from "@mantine/hooks"; import { useForm } from "react-hook-form"; import { ModalBody, ModalFooter, type TCreateModalSchema, entitySchema, useStepContext } from "./CreateModal"; export function StepEntity() { const focusTrapRef = useFocusTrap(); const { nextStep, stepBack, state, setState } = useStepContext(); const { register, handleSubmit, formState, watch } = useForm({ mode: "onTouched", resolver: typeboxResolver(entitySchema), defaultValues: state.entities?.create?.[0] ?? {} }); /*const data = watch(); console.log("state", { isValid }); console.log("schema", JSON.stringify(entitySchema)); console.log("data", JSON.stringify(data));*/ function onSubmit(data: any) { console.log(data); setState((prev) => { const prevEntity = prev.entities?.create?.[0]; if (prevEntity && prevEntity.name !== data.name) { return { ...prev, entities: { create: [{ ...data, fields: prevEntity.fields }] } }; } return { ...prev, entities: { create: [data] } }; }); if (formState.isValid) { console.log("would go next"); nextStep("entity-fields")(); } } return ( <>
{/**/}