import React from 'react'; import { useFieldArray, Control, FieldErrors, FieldValues, Path } from 'react-hook-form'; import Button from '@/components/ui/Button.tsx'; import { useTranslation } from '@/hooks/useI18n.tsx'; interface DynamicFieldArrayProps { control: Control; name: Path; title: string; addText: string; errors: FieldErrors; defaultItem: Record; children?: (index: number) => React.ReactNode; } const DynamicFieldArray = ({ control, name, title, addText, errors, defaultItem, children, }: DynamicFieldArrayProps) => { const { t } = useTranslation(); const { fields, append, remove } = useFieldArray({ control, name }); const arrayErrors = errors[name as string]; return (

{title}

{fields.map((field, index) => (
{children && children(index)}
))}
{arrayErrors && (

{(arrayErrors as { message?: string; root?: { message?: string } })?.message || (arrayErrors as { message?: string; root?: { message?: string } })?.root?.message}

)}
); }; export default DynamicFieldArray;