import { Input } from 'rizzui/input';

type Props<T> = {
  label: string;
  field: keyof T;
  value?: string;
  setForm: React.Dispatch<React.SetStateAction<T>>;
  isEditing: boolean;
};

export function FormInput<T>({
  label,
  field,
  value,
  setForm,
  isEditing,
}: Props<T>) {
  return (
    <Input
      label={label}
      value={value as string}
      disabled={!isEditing}
      onChange={(e) =>
        setForm((prev) =>
          prev ? { ...prev, [field]: e.target.value } : prev
        )
      }
    />
  );
}