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-[var(--color-bg-tertiary)] border-[var(--color-border)] text-[var(--color-text-tertiary)] cursor-not-allowed" : "border-[var(--color-border)] focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/20 focus:border-[var(--color-primary)]" }`; return (
onChange(e.target.value)} placeholder={placeholder} disabled={disabled} required={required} autoComplete="off" className={inputClass} /> {!disabled && value && ( )}
); }; export default ApiKeyInput;