import React from "react";
import { BaseSelectField } from "./BaseSelectField";

interface TransactionTypeSelectProps<T extends string> {
  t_o_t: any;
  sett_o_t: (value: any) => void;
  clearError: (field: T) => void;
  errors: { t_o_t?: string };
  handleFieldBlur: (field: T, validateField: (field: T) => string | undefined) => void;
  validateField: (field: T) => string | undefined;
}

const TransactionTypeSelect = <T extends string>({
  t_o_t,
  sett_o_t,
  clearError,
  errors,
  handleFieldBlur,
  validateField,
}: TransactionTypeSelectProps<T>) => {
  return (
    <BaseSelectField
      label="Type of Transaction"
      apiUrl="/api/searchabledropdown/typeoftransaction"
      value={t_o_t}
      onChange={sett_o_t}
      placeholder="Select transaction type..."
      enableHoverEffects={true}
      clearError={clearError}
      errors={errors as Partial<Record<T, string>>}
      handleFieldBlur={handleFieldBlur}
      validateField={validateField}
      fieldName={"t_o_t" as T}
    />
  );
};

export default TransactionTypeSelect;

