refactor(settings): improve directory configuration UI layout
- Rebrand "CC-Switch" to "CC Switch" across all UI text - Separate CC Switch config directory into standalone section at top - Update description to highlight cloud sync capability - Remove redundant descriptions for Claude/Codex directory inputs - Improve Chinese grammar for WSL configuration description
This commit is contained in:
@@ -34,6 +34,45 @@ export function DirectorySettings({
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* CC Switch 配置目录 - 独立区块 */}
|
||||
<section className="space-y-4">
|
||||
<header className="space-y-1">
|
||||
<h3 className="text-sm font-medium">{t("settings.appConfigDir")}</h3>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
{t("settings.appConfigDirDescription")}
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div className="flex items-center gap-2">
|
||||
<Input
|
||||
value={appConfigDir ?? resolvedDirs.appConfig ?? ""}
|
||||
placeholder={t("settings.browsePlaceholderApp")}
|
||||
className="font-mono text-xs"
|
||||
onChange={(event) => onAppConfigChange(event.target.value)}
|
||||
/>
|
||||
<Button
|
||||
type="button"
|
||||
variant="outline"
|
||||
size="icon"
|
||||
onClick={onBrowseAppConfig}
|
||||
title={t("settings.browseDirectory")}
|
||||
>
|
||||
<FolderSearch className="h-4 w-4" />
|
||||
</Button>
|
||||
<Button
|
||||
type="button"
|
||||
variant="outline"
|
||||
size="icon"
|
||||
onClick={onResetAppConfig}
|
||||
title={t("settings.resetDefault")}
|
||||
>
|
||||
<Undo2 className="h-4 w-4" />
|
||||
</Button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Claude/Codex 配置目录 - 独立区块 */}
|
||||
<section className="space-y-4">
|
||||
<header className="space-y-1">
|
||||
<h3 className="text-sm font-medium">
|
||||
@@ -44,20 +83,9 @@ export function DirectorySettings({
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<DirectoryInput
|
||||
label={t("settings.appConfigDir")}
|
||||
description={t("settings.appConfigDirDescription")}
|
||||
value={appConfigDir}
|
||||
resolvedValue={resolvedDirs.appConfig}
|
||||
placeholder={t("settings.browsePlaceholderApp")}
|
||||
onChange={onAppConfigChange}
|
||||
onBrowse={onBrowseAppConfig}
|
||||
onReset={onResetAppConfig}
|
||||
/>
|
||||
|
||||
<DirectoryInput
|
||||
label={t("settings.claudeConfigDir")}
|
||||
description={t("settings.claudeConfigDirDescription")}
|
||||
description={undefined}
|
||||
value={claudeDir}
|
||||
resolvedValue={resolvedDirs.claude}
|
||||
placeholder={t("settings.browsePlaceholderClaude")}
|
||||
@@ -68,7 +96,7 @@ export function DirectorySettings({
|
||||
|
||||
<DirectoryInput
|
||||
label={t("settings.codexConfigDir")}
|
||||
description={t("settings.codexConfigDirDescription")}
|
||||
description={undefined}
|
||||
value={codexDir}
|
||||
resolvedValue={resolvedDirs.codex}
|
||||
placeholder={t("settings.browsePlaceholderCodex")}
|
||||
@@ -77,6 +105,7 @@ export function DirectorySettings({
|
||||
onReset={() => onResetDirectory("codex")}
|
||||
/>
|
||||
</section>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
"themeDark": "Dark",
|
||||
"themeSystem": "System",
|
||||
"importExport": "Import/Export Config",
|
||||
"importExportHint": "Import or export cc-switch configuration for backup or migration.",
|
||||
"importExportHint": "Import or export CC Switch configuration for backup or migration.",
|
||||
"exportConfig": "Export Config to File",
|
||||
"selectConfigFile": "Select Config File",
|
||||
"noFileSelected": "No configuration file selected.",
|
||||
@@ -155,9 +155,9 @@
|
||||
"enableClaudePluginIntegration": "Apply to Claude Code extension",
|
||||
"enableClaudePluginIntegrationDescription": "When enabled, the VS Code Claude Code extension provider will switch with this app",
|
||||
"configDirectoryOverride": "Configuration Directory Override (Advanced)",
|
||||
"configDirectoryDescription": "When using Claude Code or Codex in environments like WSL, you can manually specify the configuration directory in WSL to keep provider data consistent with the main environment.",
|
||||
"appConfigDir": "CC-Switch Configuration Directory",
|
||||
"appConfigDirDescription": "Customize the storage location for CC-Switch configuration files (config.json, etc.)",
|
||||
"configDirectoryDescription": "When using Claude Code or Codex in environments like WSL, you can manually specify the configuration directory to the one in WSL to keep provider data consistent with the main environment.",
|
||||
"appConfigDir": "CC Switch Configuration Directory",
|
||||
"appConfigDirDescription": "Customize the storage location for CC Switch configuration (point to cloud sync folder to enable config sync)",
|
||||
"browsePlaceholderApp": "e.g., C:\\Users\\Administrator\\.cc-switch",
|
||||
"claudeConfigDir": "Claude Code Configuration Directory",
|
||||
"claudeConfigDirDescription": "Override Claude configuration directory (settings.json) and keep claude.json (MCP) alongside it.",
|
||||
@@ -184,7 +184,7 @@
|
||||
"importFailedError": "Import config failed: {{message}}",
|
||||
"exportFailedError": "Export config failed:",
|
||||
"restartRequired": "Restart Required",
|
||||
"restartRequiredMessage": "Modifying the CC-Switch configuration directory requires restarting the application to take effect. Restart now?",
|
||||
"restartRequiredMessage": "Modifying the CC Switch configuration directory requires restarting the application to take effect. Restart now?",
|
||||
"restartNow": "Restart Now",
|
||||
"restartLater": "Restart Later",
|
||||
"restartFailed": "Application restart failed, please manually close and reopen.",
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
"themeDark": "深色",
|
||||
"themeSystem": "跟随系统",
|
||||
"importExport": "导入导出配置",
|
||||
"importExportHint": "导入导出 cc-switch 配置,便于备份或迁移。",
|
||||
"importExportHint": "导入导出 CC Switch 配置,便于备份或迁移。",
|
||||
"exportConfig": "导出配置到文件",
|
||||
"selectConfigFile": "选择配置文件",
|
||||
"noFileSelected": "尚未选择配置文件。",
|
||||
@@ -155,9 +155,9 @@
|
||||
"enableClaudePluginIntegration": "应用到 Claude Code 插件",
|
||||
"enableClaudePluginIntegrationDescription": "开启后 Vscode Claude Code 插件的供应商将随本软件切换",
|
||||
"configDirectoryOverride": "配置目录覆盖(高级)",
|
||||
"configDirectoryDescription": "在 WSL 等环境使用 Claude Code 或 Codex 的时候,可手动指定 WSL 里的配置目录,供应商数据与主环境保持一致。",
|
||||
"appConfigDir": "CC-Switch 配置目录",
|
||||
"appConfigDirDescription": "自定义 CC-Switch 的配置存储位置(config.json 等文件)",
|
||||
"configDirectoryDescription": "在 WSL 等环境使用 Claude Code 或 Codex 的时候,可手动指定为 WSL 里的配置目录,供应商数据与主环境保持一致。",
|
||||
"appConfigDir": "CC Switch 配置目录",
|
||||
"appConfigDirDescription": "自定义 CC Switch 的配置存储位置(指定到云同步文件夹即可云同步配置)",
|
||||
"browsePlaceholderApp": "例如:C:\\Users\\Administrator\\.cc-switch",
|
||||
"claudeConfigDir": "Claude Code 配置目录",
|
||||
"claudeConfigDirDescription": "覆盖 Claude 配置目录 (settings.json),同时会在同级存放 Claude MCP 的 claude.json。",
|
||||
@@ -184,7 +184,7 @@
|
||||
"importFailedError": "导入配置失败:{{message}}",
|
||||
"exportFailedError": "导出配置失败:",
|
||||
"restartRequired": "需要重启应用",
|
||||
"restartRequiredMessage": "修改 CC-Switch 配置目录后需要重启应用才能生效,是否立即重启?",
|
||||
"restartRequiredMessage": "修改 CC Switch 配置目录后需要重启应用才能生效,是否立即重启?",
|
||||
"restartNow": "立即重启",
|
||||
"restartLater": "稍后重启",
|
||||
"restartFailed": "应用重启失败,请手动关闭后重新打开。",
|
||||
|
||||
Reference in New Issue
Block a user