From bb6a9c926966f8c9421a850aad70164295eaae35 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Mon, 6 Apr 2026 16:13:39 +0200 Subject: [PATCH] fix: Config tab sidebar navigation stays on config for app and route clicks When on Config tab: clicking an app navigates to /config/:appId (shows that app's config with detail panel). Clicking a route navigates to /config/:appId (same app config, since config is per-app not per-route). Clicking Applications header navigates to /config (all apps table). Co-Authored-By: Claude Opus 4.6 (1M context) --- ui/src/components/LayoutShell.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ui/src/components/LayoutShell.tsx b/ui/src/components/LayoutShell.tsx index e679d6c8..199b2b20 100644 --- a/ui/src/components/LayoutShell.tsx +++ b/ui/src/components/LayoutShell.tsx @@ -604,9 +604,12 @@ function LayoutContent() { const appMatch = path.match(/^\/apps\/([^/]+)(?:\/(.+))?$/); if (appMatch) { const [, sAppId, sRouteId] = appMatch; - // Config tab only supports /config/:appId — fall back to exchanges for route-level - const tab = (scope.tab === 'config' && sRouteId) ? 'exchanges' : scope.tab; - navigate(sRouteId ? `/${tab}/${sAppId}/${sRouteId}` : `/${tab}/${sAppId}`, { state }); + if (scope.tab === 'config') { + // Config tab: always navigate to /config/:appId (route click → same app config) + navigate(`/config/${sAppId}`, { state }); + } else { + navigate(sRouteId ? `/${scope.tab}/${sAppId}/${sRouteId}` : `/${scope.tab}/${sAppId}`, { state }); + } return; }