'use client' import React, { useEffect } from "react"; import { useRouter } from "next/navigation"; import { UpdateFormProps } from "@/validations/mutual/forms/type"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { Form } from "@/components/mutual/shadcnui/form"; import { renderInputsBySchema } from "@/lib/renderInputs"; import { Button } from "@/components/mutual/shadcnui/button"; const UpdateForm: React.FC = ({ schemas, selectedRow, rollbackTo, labels }) => { const router = useRouter() useEffect(() => { if (!selectedRow) { router.push(rollbackTo, { scroll: false }) } }, [selectedRow]) const updateSchema = schemas.update const findLabels = Object.entries(updateSchema?.shape || {}).reduce((acc: any, [key, value]: any) => { acc[key] = { label: labels[key] || key, description: value.description, } return acc }, {}) const handleSubmit = (data: any) => { console.log(data) } const form = useForm({ resolver: zodResolver(updateSchema), defaultValues: selectedRow, }); return (
Update Form
{selectedRow && renderInputsBySchema(findLabels, form)} {selectedRow && }
) } export default UpdateForm