import React, { useState } from "react"; import { Eye, EyeOff } from "lucide-react"; interface ApiKeyInputProps { value: string; onChange: (value: string) => void; placeholder?: string; disabled?: boolean; required?: boolean; label?: string; id?: string; } const ApiKeyInput: React.FC = ({ value, onChange, placeholder = "请输入API Key", disabled = false, required = false, label = "API Key", id = "apiKey", }) => { const [showKey, setShowKey] = useState(false); const toggleShowKey = () => { setShowKey(!showKey); }; const inputClass = `w-full px-3 py-2 pr-10 border rounded-lg text-sm transition-colors ${ disabled ? "bg-gray-100 border-gray-200 text-gray-400 cursor-not-allowed" : "border-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500" }`; return (
onChange(e.target.value)} placeholder={placeholder} disabled={disabled} required={required} autoComplete="off" className={inputClass} /> {!disabled && value && ( )}
); }; export default ApiKeyInput;