Files
CC-Switch/src/renderer/components/ImportConfigModal.tsx
T
farion1231 0cfd65cb90 优化首次启动体验:自动创建默认供应商且设为选中状态
- 新增 importCurrentConfigAsDefault 函数,创建 ID 为 'default' 的特殊供应商
- 默认供应商不生成独立配置文件,直接使用现有 settings.json
- 首次启动时自动导入现有配置为默认供应商,并设为选中状态
- 切换到默认供应商时无需文件操作,直接使用原配置
- 删除默认供应商时保护原配置文件不被误删
- 简化 ImportConfigModal 组件,移除 isEmpty 相关逻辑
- 提升用户体验:无需手动操作,开箱即用
2025-08-07 21:28:45 +08:00

67 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import React, { useState } from 'react'
import './AddProviderModal.css'
interface ImportConfigModalProps {
onImport: (name: string) => void
onClose: () => void
}
const ImportConfigModal: React.FC<ImportConfigModalProps> = ({ onImport, onClose }) => {
const [name, setName] = useState('')
const [error, setError] = useState('')
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault()
setError('')
if (!name.trim()) {
setError('请输入供应商名称')
return
}
onImport(name.trim())
}
return (
<div className="modal-overlay">
<div className="modal-content">
<h2></h2>
<p style={{marginBottom: '1.5rem', color: '#666', fontSize: '0.9rem'}}>
<code>~/.claude/settings.json</code>
<br />
<strong></strong>
</p>
{error && <div className="error-message">{error}</div>}
<form onSubmit={handleSubmit}>
<div className="form-group">
<label htmlFor="name"> *</label>
<input
type="text"
id="name"
name="name"
value={name}
onChange={(e) => setName(e.target.value)}
placeholder="例如:我的当前配置"
required
autoFocus
/>
</div>
<div className="form-actions">
<button type="button" className="cancel-btn" onClick={onClose}>
</button>
<button type="submit" className="submit-btn">
</button>
</div>
</form>
</div>
</div>
)
}
export default ImportConfigModal