From 0e4768e8e88f0b9413249e9bb691875cfc9b1144 Mon Sep 17 00:00:00 2001 From: Kiet Ho Date: Fri, 24 Apr 2026 16:29:27 -0700 Subject: [PATCH 1/2] simplify workspace controls --- .../V2WorkspacesList/V2WorkspacesList.tsx | 1 - .../V2WorkspaceRow/V2WorkspaceRow.tsx | 85 ++++++++----------- .../components/V2WorkspacesList/constants.ts | 6 +- 3 files changed, 40 insertions(+), 52 deletions(-) diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/V2WorkspacesList.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/V2WorkspacesList.tsx index c237c351b1b..d0921c11ed4 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/V2WorkspacesList.tsx +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/V2WorkspacesList.tsx @@ -226,7 +226,6 @@ export function V2WorkspacesList({ workspaces }: V2WorkspacesListProps) { sortDirection={sortDirection} onSort={handleSort} /> - ); diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx index 566c3bc3709..9a585d29e13 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx @@ -131,16 +131,44 @@ export function V2WorkspaceRow({ isCurrentRoute && "bg-accent/40", )} > - +
{workspace.isInSidebar ? ( - - ) : null} - + + + + + + {isCurrentRoute + ? "Can't remove the current workspace" + : "Remove from sidebar"} + + + ) : ( + + + + + Add to sidebar + + )} +
{timeLabel} ยท {creatorLabel} - -
- {workspace.isInSidebar ? ( - - - - - - {isCurrentRoute - ? "Can't remove the current workspace" - : "Remove from sidebar"} - - - ) : ( - - - - - Add to sidebar - - )} -
); diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/constants.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/constants.ts index 738705ecda4..ed4b034fa9a 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/constants.ts +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/constants.ts @@ -1,5 +1,5 @@ // Shared grid template used by the column header row and every workspace row -// so the Sidebar / Name / Host / Branch / Created / Action columns align -// across the whole view. Columns hide progressively on narrower viewports. +// so the Sidebar action / Name / Host / Branch / Created columns align across +// the whole view. Columns hide progressively on narrower viewports. export const V2_WORKSPACES_ROW_GRID = - "grid grid-cols-[1.25rem_minmax(0,1fr)_2.5rem] gap-4 md:grid-cols-[1.25rem_minmax(0,1fr)_12rem_2.5rem] lg:grid-cols-[1.25rem_minmax(0,1fr)_12rem_14rem_2.5rem] xl:grid-cols-[1.25rem_minmax(0,1fr)_12rem_14rem_11rem_2.5rem] items-center"; + "grid grid-cols-[2.5rem_minmax(0,1fr)] gap-4 md:grid-cols-[2.5rem_minmax(0,1fr)_12rem] lg:grid-cols-[2.5rem_minmax(0,1fr)_12rem_14rem] xl:grid-cols-[2.5rem_minmax(0,1fr)_12rem_14rem_11rem] items-center"; From 7149187dcf835c29f6494dd715ea7ecd4a6997c7 Mon Sep 17 00:00:00 2001 From: Kiet Ho Date: Fri, 24 Apr 2026 17:09:33 -0700 Subject: [PATCH 2/2] fix current workspace remove tooltip --- .../components/V2WorkspaceRow/V2WorkspaceRow.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx index 9a585d29e13..df7d08f6a78 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspaces/components/V2WorkspacesList/components/V2WorkspaceRow/V2WorkspaceRow.tsx @@ -66,9 +66,13 @@ export function V2WorkspaceRow({ const handleRemoveFromSidebar = useCallback( (event: React.MouseEvent) => { event.stopPropagation(); + if (isCurrentRoute) { + event.preventDefault(); + return; + } removeWorkspaceFromSidebar(workspace.id); }, - [removeWorkspaceFromSidebar, workspace.id], + [isCurrentRoute, removeWorkspaceFromSidebar, workspace.id], ); const creatorLabel = workspace.isCreatedByCurrentUser @@ -139,9 +143,12 @@ export function V2WorkspaceRow({ size="icon" variant="ghost" onClick={handleRemoveFromSidebar} - disabled={isCurrentRoute} + aria-disabled={isCurrentRoute} aria-label="Remove from sidebar" - className="size-7" + className={cn( + "size-7", + isCurrentRoute && "cursor-not-allowed opacity-50", + )} >