import React, { InputHTMLAttributes } from 'react'; import { UseFormRegisterReturn } from 'react-hook-form'; import { formService } from '../../../services/form.service'; export interface AppInputProps extends Omit, 'name'> { label: string; error?: { type: string; message?: string; [key: string]: any } | undefined; register?: UseFormRegisterReturn; // For use with Controller field?: { name: string; value: string; onChange: (e: React.ChangeEvent) => void; onBlur: () => void; ref: React.Ref; }; } export function AppInput({ type = 'text', label, error, register, field, className = '', ...inputProps }: AppInputProps): JSX.Element { const hasError = !!error; const inputClassName = `w-full ${hasError ? 'border-error' : ''} ${className}`.trim(); return ( {label} {error && {formService.getErrorMessage(error)}} ); }
{formService.getErrorMessage(error)}