import React from "react";
import { BaseFormField, BaseFormFieldProps } from "./BaseFormField";

interface PremiumPaidInputProps<T extends string> extends BaseFormFieldProps<T> {
  premiumpaid: any;
  setpremiumpaid: (value: any) => void;
  fieldName?: T;
}

const PremiumPaidInput = <T extends string>({
  premiumpaid,
  setpremiumpaid,
  clearError,
  handleFieldBlur,
  validateField,
  errors,
  fieldName,
}: PremiumPaidInputProps<T>) => {
  // Use provided fieldName or try to infer from errors object
  const errorField = fieldName || (("premium" in errors ? "premium" : "premiumpaid") as T);
  
  return (
    <BaseFormField
      fieldName={errorField}
      value={premiumpaid}
      setValue={setpremiumpaid}
      label="Premium Paid / Received"
      placeholder="Enter premium amount"
      enableHoverEffects={false}
      clearError={clearError}
      errors={errors}
      handleFieldBlur={handleFieldBlur}
      validateField={validateField}
    />
  );
};

export default PremiumPaidInput;
