Skip to content

Commit ce16695

Browse files
authored
🤖 fix: move delete button to left of runtime badge (#1032)
_Generated with `mux`_ Moves the workspace delete button from the right side (after GitStatusIndicator) to the left of the RuntimeBadge for improved visual hierarchy. **Layout:** `[Delete] [RuntimeBadge] [Name] [GitStatus]`
1 parent d5dff0d commit ce16695

File tree

1 file changed

+28
-31
lines changed

1 file changed

+28
-31
lines changed

src/browser/components/WorkspaceListItem.tsx

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ const WorkspaceListItemInner: React.FC<WorkspaceListItemProps> = ({
104104
<React.Fragment>
105105
<div
106106
className={cn(
107-
"py-1.5 pl-4 pr-2 border-l-[3px] border-transparent transition-all duration-150 text-[13px] relative flex gap-2",
107+
"py-1.5 pl-[9px] pr-2 border-l-[3px] border-transparent transition-all duration-150 text-[13px] relative flex gap-2",
108108
isDisabled
109109
? "cursor-default opacity-70"
110110
: "cursor-pointer hover:bg-hover [&:hover_button]:opacity-100",
@@ -147,7 +147,25 @@ const WorkspaceListItemInner: React.FC<WorkspaceListItemProps> = ({
147147
data-workspace-id={workspaceId}
148148
>
149149
<div className="flex min-w-0 flex-1 flex-col gap-1">
150-
<div className="grid min-w-0 grid-cols-[auto_1fr_auto] items-center gap-1.5">
150+
<div className="grid min-w-0 grid-cols-[auto_auto_1fr_auto] items-center gap-1.5">
151+
{!isCreating && !isEditing && (
152+
<Tooltip>
153+
<TooltipTrigger asChild>
154+
<button
155+
className="text-muted hover:text-foreground cursor-pointer border-none bg-transparent p-0 text-base opacity-0 transition-colors duration-200"
156+
onClick={(e) => {
157+
e.stopPropagation();
158+
void onRemoveWorkspace(workspaceId, e.currentTarget);
159+
}}
160+
aria-label={`Remove workspace ${displayName}`}
161+
data-workspace-id={workspaceId}
162+
>
163+
×
164+
</button>
165+
</TooltipTrigger>
166+
<TooltipContent align="start">Remove workspace</TooltipContent>
167+
</Tooltip>
168+
)}
151169
<RuntimeBadge runtimeConfig={metadata.runtimeConfig} isWorking={canInterrupt} />
152170
{isEditing ? (
153171
<input
@@ -189,35 +207,14 @@ const WorkspaceListItemInner: React.FC<WorkspaceListItemProps> = ({
189207
</Tooltip>
190208
)}
191209

192-
<div className="flex items-center gap-1">
193-
{!isCreating && !isEditing && (
194-
<>
195-
<Tooltip>
196-
<TooltipTrigger asChild>
197-
<button
198-
className="text-muted hover:text-foreground flex h-5 w-5 cursor-pointer items-center justify-center border-none bg-transparent p-0 text-base opacity-0 transition-all duration-200 hover:rounded-sm hover:bg-white/10"
199-
onClick={(e) => {
200-
e.stopPropagation();
201-
void onRemoveWorkspace(workspaceId, e.currentTarget);
202-
}}
203-
aria-label={`Remove workspace ${displayName}`}
204-
data-workspace-id={workspaceId}
205-
>
206-
×
207-
</button>
208-
</TooltipTrigger>
209-
<TooltipContent align="end">Remove workspace</TooltipContent>
210-
</Tooltip>
211-
212-
<GitStatusIndicator
213-
gitStatus={gitStatus}
214-
workspaceId={workspaceId}
215-
tooltipPosition="right"
216-
isWorking={canInterrupt}
217-
/>
218-
</>
219-
)}
220-
</div>
210+
{!isCreating && !isEditing && (
211+
<GitStatusIndicator
212+
gitStatus={gitStatus}
213+
workspaceId={workspaceId}
214+
tooltipPosition="right"
215+
isWorking={canInterrupt}
216+
/>
217+
)}
221218
</div>
222219
{!isCreating && (
223220
<div className="min-w-0">

0 commit comments

Comments
 (0)