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
+7 -6
View File
@@ -43,8 +43,7 @@
* - `./pages/SessionDetail`
* - `./pages/ActivityFeed`
* - `./pages/Workflows`
* - `./pages/Settings`
* - `./pages/CcConfig`
* - `./pages/SettingsHub`
* - `./pages/Workspace`
*
* ## Testing pointers
@@ -68,8 +67,7 @@ import { Sessions } from "./pages/Sessions";
import { SessionDetail } from "./pages/SessionDetail";
import { ActivityFeed } from "./pages/ActivityFeed";
import { Workflows } from "./pages/Workflows";
import { Settings } from "./pages/Settings";
import { CcConfig } from "./pages/CcConfig";
import { SettingsHub } from "./pages/SettingsHub";
import { Workspace } from "./pages/Workspace";
import { NotFound } from "./pages/NotFound";
import { useWebSocket } from "./hooks/useWebSocket";
@@ -102,9 +100,12 @@ export default function App() {
<Route path="activity" element={<ActivityFeed />} />
<Route path="workflows" element={<Workflows />} />
<Route path="lanes" element={<Navigate to="/run" replace />} />
<Route path="cc-config" element={<CcConfig />} />
<Route
path="cc-config"
element={<Navigate to="/settings?tool=claude-code" replace />}
/>
<Route path="run" element={<Workspace />} />
<Route path="settings" element={<Settings />} />
<Route path="settings" element={<SettingsHub />} />
<Route path="*" element={<NotFound />} />
</Route>
</Routes>