diff --git a/frontend/src/lib/components/FlowBuilder.svelte b/frontend/src/lib/components/FlowBuilder.svelte index 6c135a70b5..e0222e4b59 100644 --- a/frontend/src/lib/components/FlowBuilder.svelte +++ b/frontend/src/lib/components/FlowBuilder.svelte @@ -59,7 +59,9 @@ CheckCircle, RefreshCw, CheckCheck, - Disc + Disc, + ChevronRight, + Workflow } from 'lucide-svelte' import Awareness from './Awareness.svelte' import { getAllModules } from './flows/flowExplorer' @@ -71,7 +73,6 @@ import { resetAllTodos, skipAllTodos } from '$lib/tutorialUtils' import { tutorialsToDo } from '$lib/stores' import { getTutorialIndex } from '$lib/tutorials/config' - import SummaryPathDisplay from './SummaryPathDisplay.svelte' import type { FlowBuilderWhitelabelCustomUi } from './custom_ui' import FlowYamlEditor from './flows/header/FlowYamlEditor.svelte' import { type TriggerContext, type ScheduleTrigger } from './triggers' @@ -622,6 +623,15 @@ const flowEditorDrawer = writable(undefined) const history = initHistory(untrack(() => flowStore).val) const pathStore = writable(untrack(() => pathStoreInit) ?? initialPath) + + // Breadcrumb derivations for the flow header (replaces SummaryPathDisplay). + const breadcrumbParts = $derived(($pathStore ?? '').split('/').filter(Boolean)) + const breadcrumbFolder = $derived( + breadcrumbParts.length > 1 ? breadcrumbParts.slice(0, -1).join('/') : '' + ) + const breadcrumbLeaf = $derived( + breadcrumbParts.length > 0 ? breadcrumbParts[breadcrumbParts.length - 1] : 'untitled' + ) const captureOn = writable(false) const showCaptureHint = writable(undefined) const flowInputEditorStateStore = writable({ @@ -1150,13 +1160,20 @@
-
- +
+ + Flows + {#if breadcrumbFolder} + + {breadcrumbFolder} + {/if} + + + {flowStore.val.summary || breadcrumbLeaf} +
+ +