Skip to content

Commit cf4a4d6

Browse files
committed
🤖 Fix grid layout: group runtime badge with workspace name
Move RuntimeBadge into same grid cell as workspace name to avoid breaking the existing layout. Badge and name now share a flex container. Generated with `cmux`
1 parent a1271c3 commit cf4a4d6

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

src/components/WorkspaceListItem.tsx

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ const WorkspaceListItemInner: React.FC<WorkspaceListItemProps> = ({
133133
<React.Fragment>
134134
<div
135135
className={cn(
136-
"py-1.5 px-3 pl-7 cursor-pointer grid grid-cols-[auto_auto_auto_1fr_auto] gap-2 items-center border-l-[3px] border-transparent transition-all duration-150 text-[13px] relative hover:bg-hover [&:hover_button]:opacity-100",
136+
"py-1.5 px-3 pl-7 cursor-pointer grid grid-cols-[auto_auto_1fr_auto] gap-2 items-center border-l-[3px] border-transparent transition-all duration-150 text-[13px] relative hover:bg-hover [&:hover_button]:opacity-100",
137137
isSelected && "bg-hover border-l-[#569cd6]"
138138
)}
139139
onClick={() =>
@@ -182,31 +182,33 @@ const WorkspaceListItemInner: React.FC<WorkspaceListItemProps> = ({
182182
workspaceId={workspaceId}
183183
tooltipPosition="right"
184184
/>
185-
<RuntimeBadge runtimeConfig={metadata.runtimeConfig} />
186-
{isEditing ? (
187-
<input
188-
className="bg-input-bg text-input-text border-input-border font-inherit focus:border-input-border-focus min-w-0 rounded-sm border px-1 py-0.5 text-right text-[13px] outline-none"
189-
value={editingName}
190-
onChange={(e) => setEditingName(e.target.value)}
191-
onKeyDown={handleRenameKeyDown}
192-
onBlur={() => void handleConfirmRename()}
193-
autoFocus
194-
onClick={(e) => e.stopPropagation()}
195-
aria-label={`Rename workspace ${displayName}`}
196-
data-workspace-id={workspaceId}
197-
/>
198-
) : (
199-
<span
200-
className="text-foreground min-w-0 cursor-pointer truncate rounded-sm px-1 py-0.5 text-right text-[14px] transition-colors duration-200 hover:bg-white/5"
201-
onDoubleClick={(e) => {
202-
e.stopPropagation();
203-
startRenaming();
204-
}}
205-
title="Double-click to rename"
206-
>
207-
{displayName}
208-
</span>
209-
)}
185+
<div className="flex min-w-0 items-center gap-1.5">
186+
<RuntimeBadge runtimeConfig={metadata.runtimeConfig} />
187+
{isEditing ? (
188+
<input
189+
className="bg-input-bg text-input-text border-input-border font-inherit focus:border-input-border-focus min-w-0 rounded-sm border px-1 py-0.5 text-right text-[13px] outline-none"
190+
value={editingName}
191+
onChange={(e) => setEditingName(e.target.value)}
192+
onKeyDown={handleRenameKeyDown}
193+
onBlur={() => void handleConfirmRename()}
194+
autoFocus
195+
onClick={(e) => e.stopPropagation()}
196+
aria-label={`Rename workspace ${displayName}`}
197+
data-workspace-id={workspaceId}
198+
/>
199+
) : (
200+
<span
201+
className="text-foreground min-w-0 cursor-pointer truncate rounded-sm px-1 py-0.5 text-right text-[14px] transition-colors duration-200 hover:bg-white/5"
202+
onDoubleClick={(e) => {
203+
e.stopPropagation();
204+
startRenaming();
205+
}}
206+
title="Double-click to rename"
207+
>
208+
{displayName}
209+
</span>
210+
)}
211+
</div>
210212
<StatusIndicator
211213
className="ml-2"
212214
streaming={isStreaming}

0 commit comments

Comments
 (0)