fix: always show environment selector in TopBar
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m4s
CI / docker (push) Successful in 1m12s
CI / deploy (push) Successful in 44s
CI / deploy-feature (push) Has been skipped

Use unfiltered agent query to discover environments (avoids circular
filter). Always show selector even with single environment so it's
visible as a label. Default to ['default'] when no agents connected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-04 15:47:48 +02:00
parent 574f82b731
commit 08f2a01057

View File

@@ -291,18 +291,19 @@ function LayoutContent() {
}, [setSearchParams]);
const { data: catalog } = useRouteCatalog(timeRange.start.toISOString(), timeRange.end.toISOString(), selectedEnv);
const { data: agents } = useAgents(undefined, undefined, selectedEnv);
const { data: allAgents } = useAgents(); // unfiltered — for environment discovery
const { data: agents } = useAgents(undefined, undefined, selectedEnv); // filtered — for sidebar/search
const { data: attributeKeys } = useAttributeKeys();
// Extract distinct environments from agents
// Extract distinct environments from ALL agents (not filtered by selected env)
const environments: string[] = useMemo(() => {
if (!agents) return [];
if (!allAgents) return ['default'];
const envSet = new Set<string>();
for (const a of agents as any[]) {
if (a.environmentId) envSet.add(a.environmentId);
for (const a of allAgents as any[]) {
envSet.add(a.environmentId || 'default');
}
return [...envSet].sort();
}, [agents]);
}, [allAgents]);
// --- Admin search data (only fetched on admin pages) ----------------
const isAdminPage = location.pathname.startsWith('/admin');
@@ -702,13 +703,13 @@ function LayoutContent() {
<AppShell sidebar={sidebarElement}>
<TopBar
breadcrumb={breadcrumb}
environment={environments.length > 0 ? (
environment={
<EnvironmentSelector
environments={environments}
value={selectedEnv}
onChange={setSelectedEnv}
/>
) : undefined}
}
user={username ? { name: username } : undefined}
onLogout={handleLogout}
/>