import { Controller, Control, FieldError } from "react-hook-form";
 

interface FormCheckboxProps {
  name: string;
  control: Control<any>;
  label: string;
  required?: boolean;
  disabled?: boolean;
  error?: FieldError;
  className?: string;
}

export default function FormCheckbox({
  name,
  control,
  label,
  required = false,
  disabled = false,
  error,
  className = "",
}: FormCheckboxProps) {
  return (
    <div className={`space-y-1 ${className}`}>
      <Controller
        name={name}
        control={control}
        render={({ field }) => (
          <label className="flex items-start gap-3 cursor-pointer">
            <input
              type="checkbox"
              checked={field.value || false}
              onChange={(e) => field.onChange(e.target.checked)}
              disabled={disabled}
              className="flex-shrink-0 relative w-5 h-5 mt-0.5 text-teal-600 focus:ring-teal-500 border-gray-300 rounded disabled:opacity-50"
            />
            <span className="text-sm font-medium text-gray-800">
              {label}
              {required && <span className="text-red-500 ml-1">*</span>}
            </span>
          </label>
        )}
      />
      {error && <p className="text-sm text-red-500 ml-7">{error.message}</p>}
    </div>
    
  
  );
}