"use client"; import { RetrieveInputByType } from "@/hooks/renderInputWithValidation"; import * as z from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, FormDescription, } from "@/components/ui/form"; import { convertApiValidationToZodValidation } from "@/lib/renderZodValidation"; interface CreatePageComponentInterface { validator: any; headers: any; } const CreatePageComponent: React.FC = ({ validator, headers, }) => { const returnValidation = convertApiValidationToZodValidation(validator); const { validSchemaZod, zodValidation, apiValidation } = returnValidation; const form = useForm>({ resolver: zodResolver(validSchemaZod), defaultValues: {}, }); function submitUpdate(formData: z.infer) { // saveFunction({ // uu_id: updateUUID, // payload: validDataParser(formData), // }).then((res: any) => { // console.log(res); // if (res?.status === 200) { // } else { // alert("Güncelleme başarısız"); // } // }); } return (
{Object.entries(validator).map(([key, value]: [string, any]) => ( { return ( {headers[key] || `Header not found ${key}`} {RetrieveInputByType({ type: value?.fieldType || "string", props: { className: "", field: field, placeholder: headers[key], required: value?.required || false, }, })} {String(form.formState.errors[key]?.type) === "invalid_type" ? ( "Lütfen metinsel bir değer giriniz" ) : ( <> )} ); }} /> ))}
); }; export default CreatePageComponent;