"use client"; import * as z from "zod"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { toast } from "sonner"; import { useForm } from "react-hook-form"; import { Input } from "@/components/ui/input"; import { zodResolver } from "@hookform/resolvers/zod"; const formSchema = z.record(z.string().min(1)); interface TestcaseFormInterface { [key: string]: string | undefined; } export default function TestcaseForm(props: TestcaseFormInterface) { const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: props, }); function onSubmit(values: z.infer) { try { console.log(values); toast.success(JSON.stringify(values, null, 2)); } catch (error) { console.error("Form submission error", error); toast.error("Failed to submit the form. Please try again."); } } return (
{Object.keys(props).map((fieldName) => ( ( {`${fieldName} =`} )} /> ))} ); }