"use client"; import { FC } from "react"; import { useFormState } from "react-dom"; import { Grid } from "@mui/material"; import { TextField } from "ui"; import { Create as InternalCreate } from "@/app/_components/Create"; import { generateCreateAction } from "@/app/_lib/actions"; import { serviceConfig } from "@/app/_lib/config"; type CreateProps = { service: string; }; export const Create: FC = ({ service }) => { const { [service]: { entity, table, displayName, createFields: fields }, } = serviceConfig; const createFieldNames = fields.map((val) => val.name); const createAction = generateCreateAction({ entity, table, fields }); const initialState = { message: null, errors: {}, values: createFieldNames.reduce((acc, key) => { // @ts-expect-error acc[key] = fields[key].defaultValue; return acc; }, {}), }; console.log("initialState", initialState); const [formState, formAction] = useFormState(createAction, initialState); return ( {fields.map((field) => ( ))} ); };