feat(settings): host Claude config as a tab in Settings

Settings becomes a tabbed shell (SettingsHub) with one tab per AI tool:
Dashboard (existing settings), Claude Code (CcConfig), plus Codex and
Cursor placeholders. Active tab lives in the ?tool= query param, and the
old /cc-config route redirects to /settings?tool=claude-code. The
standalone sidebar entry is dropped.

Adding a tool is one entry in TOOL_TABS plus its i18n label.
This commit is contained in:
2026-08-26 09:01:00 +07:00
parent 64fc713440
commit 341197aac0
7 changed files with 127 additions and 15 deletions
+5 -4
View File
@@ -448,9 +448,9 @@ graph TB
Detail["/sessions/:id"]
Feed["/activity"]
Workflows["/workflows"]
CcConfig["/cc-config"]
CcConfig["/cc-config (redirect)"]
Run["/run"]
Settings["/settings"]
Settings["/settings (tabs: dashboard | claude-code | ...)"]
NF["/* (NotFound)"]
Root --> Dashboard & Sessions & Detail & Feed & Workflows & CcConfig & Run & Settings & NF
@@ -476,9 +476,10 @@ function App() {
<Route path="sessions/:id" element={<SessionDetail />} />
<Route path="activity" element={<ActivityFeed />} />
<Route path="workflows" element={<Workflows />} />
<Route path="cc-config" element={<CcConfig />} />
{/* legacy path - Claude config now lives in a Settings tab */}
<Route path="cc-config" element={<Navigate to="/settings?tool=claude-code" replace />} />
<Route path="run" element={<Run />} />
<Route path="settings" element={<Settings />} />
<Route path="settings" element={<SettingsHub />} />
<Route path="*" element={<NotFound />} />
</Route>
</Routes>