diff --git a/frontend/src/lib/components/NavBreadcrumb.svelte b/frontend/src/lib/components/NavBreadcrumb.svelte index 586ebcc4a1..bba083cb50 100644 --- a/frontend/src/lib/components/NavBreadcrumb.svelte +++ b/frontend/src/lib/components/NavBreadcrumb.svelte @@ -7,30 +7,15 @@ picker, and the item drill picker for the kind and each path level — and every same weight, size and icon size, so the line reads as one control rather than four. --> {#snippet workspaceDisc()} - - - - + + + + + {/snippet} -{#snippet forkIcon()} - -{/snippet} - {#snippet itemKindIcon()} {#if item}{/if} {/snippet} @@ -176,6 +151,18 @@ same weight, size and icon size, so the line reads as one control rather than fo {/snippet} +{#snippet envBadgeMark()} + {#if envBadge} + {envBadge.text} + {/if} +{/snippet} + {#snippet slash()} {/snippet} @@ -184,103 +171,111 @@ same weight, size and icon size, so the line reads as one control rather than fo aria-label="Breadcrumb" class="flex items-center gap-1.5 min-w-0 text-xs font-normal text-primary" > - - {#snippet children({ createMenu })} - - {#snippet triggr({ trigger })} - - - - {/snippet} - {#snippet children({ item: menuItem })} - - {/snippet} - - {/snippet} - - - {#if showFork} - {@render slash()} - - (globalForkModal.val = { opened: true })} - settingsHref={canManageWorkspace ? `${base}/workspace_settings` : undefined} - settingsLabel={`${currentWs?.name ?? scopeId ?? 'Workspace'} settings`} - class="min-w-0" - > - {#snippet trigger()} - - +
+ + +
+ + + {#if showFork} + + {@render slash()} + + + {scopeName} + {@render envBadgeMark()} + + {:else} + {@render envBadgeMark()} + {/if} + +
+ + {#snippet children({ createMenu })} + - - {#if devBadge} - {devBadge} - {/if} - + + + {/snippet} + {#snippet children({ item: menuItem })} + workspaceMenu?.close()} /> + {/snippet} + {/snippet} - - {/if} + +
{#if item || section || routePage} {@render slash()} {/if} {#if item} - {#if segments} - {#each segments.dirs as dir, i (dir.fullPath)} - {#if i > 0}{@render slash()}{/if} - item?.onNavigate?.(picked)} - /> - {/each} - {@render slash()} - item?.onNavigate?.(picked)} - /> + {#if item.path} + +
+ + + {#if pathCopied} + + Path copied successfully + + {/if} +
{:else} - item?.onNavigate?.(picked)} - /> + + {@render itemKindIcon()} + {KIND_LABEL_LOWER[item.kind]} + {/if} {:else if section?.kind} , so this wears the design system's subtle + // button rather than containing one — a - {#snippet text()}Show sidebar{/snippet} - + + {/if} @@ -62,9 +59,9 @@ The row's height matches the sidebar's own header row, so the two read as one ba - +
- {#if item.summaryContent} {@render item.summaryContent()} {:else} diff --git a/frontend/src/lib/components/PageHeaderContent.svelte b/frontend/src/lib/components/PageHeaderContent.svelte index adba1f2a3c..227cbbf5b5 100644 --- a/frontend/src/lib/components/PageHeaderContent.svelte +++ b/frontend/src/lib/components/PageHeaderContent.svelte @@ -15,6 +15,7 @@ the header, so nesting is decided by the caller rather than guessed from context section, hint, actions, + actionsOrder, contexts, barPlacement, actingWorkspaceId, @@ -27,6 +28,7 @@ the header, so nesting is decided by the caller rather than guessed from context section, hint, actions, + actionsOrder, contexts, barPlacement, actingWorkspaceId, diff --git a/frontend/src/lib/components/RunsPage.svelte b/frontend/src/lib/components/RunsPage.svelte index 55dc1790d3..698da8b05a 100644 --- a/frontend/src/lib/components/RunsPage.svelte +++ b/frontend/src/lib/components/RunsPage.svelte @@ -872,7 +872,7 @@ -
+
diff --git a/frontend/src/lib/components/WorkspaceDraftsBanner.svelte b/frontend/src/lib/components/WorkspaceDraftsBanner.svelte index 2b153c27a8..06dbf1a5df 100644 --- a/frontend/src/lib/components/WorkspaceDraftsBanner.svelte +++ b/frontend/src/lib/components/WorkspaceDraftsBanner.svelte @@ -31,10 +31,12 @@ {#if !isFork && draftCount > 0} - + {/if} {#snippet draftsAction()} + + This workspace has {draftCount} draft{draftCount !== 1 ? 's' : ''} diff --git a/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte b/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte index 86cb4c8482..cccf070c91 100644 --- a/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte +++ b/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte @@ -125,27 +125,33 @@ }) - { - refresh = requestTokenRefresh - loadApp() - }} -> - {#snippet viewer()} - loadApp()} - > - {/snippet} - + +
+ { + refresh = requestTokenRefresh + loadApp() + }} + > + {#snippet viewer()} + loadApp()} + > + {/snippet} + +
{#if canWriteApp && !hideEditBtn} - + + {#snippet homeMenu()} + - + {#snippet triggr({ trigger })} @@ -73,6 +75,11 @@ {#snippet children({ item })} - + menu?.close()} + /> {/snippet} diff --git a/frontend/src/lib/components/sidebar/WorkspacePickerBody.svelte b/frontend/src/lib/components/sidebar/WorkspacePickerBody.svelte index 58fdbe9eae..7d0f88670f 100644 --- a/frontend/src/lib/components/sidebar/WorkspacePickerBody.svelte +++ b/frontend/src/lib/components/sidebar/WorkspacePickerBody.svelte @@ -1,5 +1,5 @@