diff --git a/frontend/src/lib/components/NavBreadcrumb.svelte b/frontend/src/lib/components/NavBreadcrumb.svelte index 70054e143e..22e43f1ecd 100644 --- a/frontend/src/lib/components/NavBreadcrumb.svelte +++ b/frontend/src/lib/components/NavBreadcrumb.svelte @@ -148,7 +148,9 @@ same weight, size and icon size, so the line reads as one control rather than fo {/snippet} {#snippet itemKindIcon()} - {#if item}{/if} + + {#if item?.kind}{/if} {/snippet} {#snippet sectionKindIcon()} @@ -304,7 +306,7 @@ same weight, size and icon size, so the line reads as one control rather than fo {/if} - {:else} + {:else if item.kind} {@render itemKindIcon()} {KIND_LABEL_LOWER[item.kind]} diff --git a/frontend/src/lib/components/details/DetailPageHeader.svelte b/frontend/src/lib/components/details/DetailPageHeader.svelte index 2be076dca0..062a2f91d0 100644 --- a/frontend/src/lib/components/details/DetailPageHeader.svelte +++ b/frontend/src/lib/components/details/DetailPageHeader.svelte @@ -35,9 +35,7 @@ // An agent's page has no triggers, and so no context for them. const triggerContext = getContext('TriggerContext') - const { triggersCount, triggersState } = $state( - triggerContext ?? ({} as Partial) - ) + const { triggersCount, triggersState } = $state(triggerContext ?? ({} as Partial)) // The buttons below render in the page header, away from this page's tree. const headerContexts = new Map([['TriggerContext', triggerContext]]) diff --git a/frontend/src/lib/components/pageHeaderRegistry.svelte.ts b/frontend/src/lib/components/pageHeaderRegistry.svelte.ts index f074c6ff06..ccd954b6ec 100644 --- a/frontend/src/lib/components/pageHeaderRegistry.svelte.ts +++ b/frontend/src/lib/components/pageHeaderRegistry.svelte.ts @@ -3,7 +3,9 @@ import type { WorkspaceItemKind } from './workspacePicker' /** An item the page is working on: the breadcrumb walks its path and ends with its summary. */ export type PageHeaderItem = { - kind: WorkspaceItemKind + /** Absent for an item the picker does not file under a kind — an agent's detail page. The + * breadcrumb then names the item without claiming it is one of the three. */ + kind?: WorkspaceItemKind /** Shown whole, and copied on click. */ path: string | undefined summary?: string