diff --git a/src/components/ai/ModelSettingsModal.tsx b/src/components/ai/ModelSettingsModal.tsx index 6cb2935..9978be7 100644 --- a/src/components/ai/ModelSettingsModal.tsx +++ b/src/components/ai/ModelSettingsModal.tsx @@ -18,6 +18,7 @@ export function ModelSettingsModal({ onClose }: { onClose: () => void }) { const [formError, setFormError] = useState('') const [saving, setSaving] = useState(false) const [expandedId, setExpandedId] = useState(null) + const [showKey, setShowKey] = useState(false) const fetchModels = async () => { try { @@ -188,16 +189,40 @@ export function ModelSettingsModal({ onClose }: { onClose: () => void }) { ].map(f => (
- setForm(prev => ({ ...prev, [f.key]: e.target.value }))} - placeholder={f.placeholder} - className="w-full mt-0.5 px-3 py-1.5 rounded-lg text-sm outline-none" - style={{ background: 'var(--bg-muted)', border: '1px solid var(--border)', color: 'var(--text)' }} - onFocus={e => (e.currentTarget.style.borderColor = 'var(--accent)')} - onBlur={e => (e.currentTarget.style.borderColor = 'var(--border)')} - /> + {f.key === 'apiKey' ? ( +
+ setForm(prev => ({ ...prev, apiKey: e.target.value }))} + placeholder={f.placeholder} + className="w-full mt-0.5 px-3 py-1.5 rounded-lg text-sm outline-none pr-12" + style={{ background: 'var(--bg-muted)', border: '1px solid var(--border)', color: 'var(--text)' }} + onFocus={e => (e.currentTarget.style.borderColor = 'var(--accent)')} + onBlur={e => (e.currentTarget.style.borderColor = 'var(--border)')} + /> + +
+ ) : ( + setForm(prev => ({ ...prev, [f.key]: e.target.value }))} + placeholder={f.placeholder} + className="w-full mt-0.5 px-3 py-1.5 rounded-lg text-sm outline-none" + style={{ background: 'var(--bg-muted)', border: '1px solid var(--border)', color: 'var(--text)' }} + onFocus={e => (e.currentTarget.style.borderColor = 'var(--accent)')} + onBlur={e => (e.currentTarget.style.borderColor = 'var(--border)')} + /> + )}
))} {formError &&

{formError}

}