diff --git a/apps/web/src/components/BranchToolbar.tsx b/apps/web/src/components/BranchToolbar.tsx
index 8e84ec5d1ed9e8c09106191d3e7f6f13f059ac5c..912ee901eec8749292b66ff260554faf5c0c0f1a 100644
--- a/apps/web/src/components/BranchToolbar.tsx
+++ b/apps/web/src/components/BranchToolbar.tsx
@@ -5,7 +5,6 @@ import {
FolderGit2Icon,
FolderGitIcon,
FolderIcon,
- HistoryIcon,
ScaleIcon,
} from "lucide-react";
import {
@@ -41,6 +40,7 @@ import {
} from "./BranchToolbarBranchSelector";
import { BranchToolbarEnvironmentSelector } from "./BranchToolbarEnvironmentSelector";
import { BranchToolbarEnvModeSelector } from "./BranchToolbarEnvModeSelector";
+import { PreviousWorktreeItemContent } from "./PreviousWorktreeItemContent";
import { ComposerControl } from "./chat/ComposerControl";
import {
Menu,
@@ -105,6 +105,7 @@ interface MobileRunContextSelectorProps {
activeWorktreePath: string | null;
onEnvModeChange: (mode: EnvMode) => void;
previousWorktreeLabel: string | null;
+ previousWorktreeBranch: string | null;
onUsePreviousWorktree: () => void;
}
@@ -123,6 +124,7 @@ const MobileRunContextSelector = memo(function MobileRunContextSelector({
activeWorktreePath,
onEnvModeChange,
previousWorktreeLabel,
+ previousWorktreeBranch,
onUsePreviousWorktree,
}: MobileRunContextSelectorProps) {
const composerFloatingLayerProps = useComposerMenuProps();
@@ -217,7 +219,12 @@ const MobileRunContextSelector = memo(function MobileRunContextSelector({
{triggerContent}
-
+
{showEnvironmentPicker && availableEnvironments && onEnvironmentChange ? (
<>
@@ -295,10 +302,7 @@ const MobileRunContextSelector = memo(function MobileRunContextSelector({
{previousWorktreeLabel ? (
-
-
-
-
+
) : null}
@@ -630,6 +634,7 @@ export const BranchToolbar = memo(function BranchToolbar({
activeWorktreePath={activeWorktreePath}
onEnvModeChange={onEnvModeChange}
previousWorktreeLabel={previousWorktreeLabel}
+ previousWorktreeBranch={previousWorktreeSeed?.branch ?? null}
onUsePreviousWorktree={onUsePreviousWorktree}
/>
@@ -669,6 +674,7 @@ export const BranchToolbar = memo(function BranchToolbar({
activeWorktreePath={activeWorktreePath}
onEnvModeChange={onEnvModeChange}
previousWorktreeLabel={previousWorktreeLabel}
+ previousWorktreeBranch={previousWorktreeSeed?.branch ?? null}
onUsePreviousWorktree={onUsePreviousWorktree}
/>
) : null}
diff --git a/apps/web/src/components/BranchToolbarEnvModeSelector.tsx b/apps/web/src/components/BranchToolbarEnvModeSelector.tsx
index 1b8b81cfcd74d2fafa81fd48e2acbf8c91a851b9..cb1faef9a50d282a01f85704d6c8de406b03d0e4 100644
--- a/apps/web/src/components/BranchToolbarEnvModeSelector.tsx
+++ b/apps/web/src/components/BranchToolbarEnvModeSelector.tsx
@@ -1,4 +1,4 @@
-import { FolderGit2Icon, FolderGitIcon, FolderIcon, HistoryIcon } from "lucide-react";
+import { FolderGit2Icon, FolderGitIcon, FolderIcon } from "lucide-react";
import { memo, useMemo } from "react";
import {
@@ -8,6 +8,7 @@ import {
type EnvMode,
} from "./BranchToolbar.logic";
import { useComposerMenuProps } from "./chat/composerEventScope";
+import { PreviousWorktreeItemContent } from "./PreviousWorktreeItemContent";
import {
Select,
SelectGroup,
@@ -28,6 +29,7 @@ interface BranchToolbarEnvModeSelectorProps {
activeWorktreePath: string | null;
onEnvModeChange: (mode: EnvMode) => void;
previousWorktreeLabel?: string | null;
+ previousWorktreeBranch?: string | null;
onUsePreviousWorktree?: () => void;
}
@@ -38,6 +40,7 @@ export const BranchToolbarEnvModeSelector = memo(function BranchToolbarEnvModeSe
activeWorktreePath,
onEnvModeChange,
previousWorktreeLabel,
+ previousWorktreeBranch = null,
onUsePreviousWorktree,
}: BranchToolbarEnvModeSelectorProps) {
const composerFloatingLayerProps = useComposerMenuProps();
@@ -142,7 +145,11 @@ export const BranchToolbarEnvModeSelector = memo(function BranchToolbarEnvModeSe
: resolveCurrentWorkspaceLabel(activeWorktreePath)}
-
+
Workspace
@@ -163,10 +170,7 @@ export const BranchToolbarEnvModeSelector = memo(function BranchToolbarEnvModeSe
{showPreviousWorktree && previousWorktreeLabel ? (
-
-
- {previousWorktreeLabel}
-
+
) : null}
diff --git a/apps/web/src/components/PreviousWorktreeItemContent.tsx b/apps/web/src/components/PreviousWorktreeItemContent.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..cd25c8c497e24d153c971c17a9471b04a6384010
--- /dev/null
+++ b/apps/web/src/components/PreviousWorktreeItemContent.tsx
@@ -0,0 +1,19 @@
+import { HistoryIcon } from "lucide-react";
+
+import { MiddleTruncate } from "./ui/middle-truncate";
+
+export function PreviousWorktreeItemContent({ branch }: { branch: string | null }) {
+ return (
+
+
+
+ Previous worktree
+ {branch ? (
+
+
+
+ ) : null}
+
+
+ );
+}