diff --git a/packages/ui/src/components/session/SessionFolderItem.tsx b/packages/ui/src/components/session/SessionFolderItem.tsx index 87890f45..fa7f624b 100644 --- a/packages/ui/src/components/session/SessionFolderItem.tsx +++ b/packages/ui/src/components/session/SessionFolderItem.tsx @@ -174,6 +174,8 @@ const SessionFolderItemBase = ({
event.stopPropagation()} + onMouseDown={(event) => event.stopPropagation()} onSubmit={(event) => { event.preventDefault(); handleSaveRename(); @@ -187,6 +189,8 @@ const SessionFolderItemBase = ({ autoFocus placeholder="Folder name" onClick={(event) => event.stopPropagation()} + onPointerDown={(event) => event.stopPropagation()} + onMouseDown={(event) => event.stopPropagation()} onKeyDown={(event) => { if (event.key === 'Escape') { event.stopPropagation(); @@ -202,6 +206,8 @@ const SessionFolderItemBase = ({ type="submit" className="shrink-0 text-muted-foreground hover:text-foreground" onClick={(event) => event.stopPropagation()} + onPointerDown={(event) => event.stopPropagation()} + onMouseDown={(event) => event.stopPropagation()} > @@ -211,6 +217,8 @@ const SessionFolderItemBase = ({ event.stopPropagation(); handleCancelRename(); }} + onPointerDown={(event) => event.stopPropagation()} + onMouseDown={(event) => event.stopPropagation()} className="shrink-0 text-muted-foreground hover:text-foreground" > diff --git a/packages/ui/src/components/session/SessionSidebar.tsx b/packages/ui/src/components/session/SessionSidebar.tsx index 47ca64e9..b3f25303 100644 --- a/packages/ui/src/components/session/SessionSidebar.tsx +++ b/packages/ui/src/components/session/SessionSidebar.tsx @@ -972,6 +972,8 @@ export const SessionSidebar: React.FC = ({ ], ); + const isInlineEditing = Boolean(renamingFolderId || editingId || editingProjectId); + return (
= ({ settingsAutoCreateWorktree={settingsAutoCreateWorktree} getOrderedGroups={getOrderedGroups} setGroupOrderByProject={setGroupOrderByProject} + isInlineEditing={isInlineEditing} /> SessionGroup[]; setGroupOrderByProject: React.Dispatch>>; + isInlineEditing: boolean; }; export function SidebarProjectsList(props: Props): React.ReactNode { @@ -198,7 +199,7 @@ export function SidebarProjectsList(props: Props): React.ReactNode { {orderedGroups.map((group) => { const groupKey = `${projectKey}:${group.id}`; return ( - + {props.renderGroupSessions(group, groupKey, projectKey)} ); diff --git a/packages/ui/src/components/session/sidebar/sortableItems.tsx b/packages/ui/src/components/session/sidebar/sortableItems.tsx index 062a8662..8dabae94 100644 --- a/packages/ui/src/components/session/sidebar/sortableItems.tsx +++ b/packages/ui/src/components/session/sidebar/sortableItems.tsx @@ -303,8 +303,9 @@ export const SortableProjectItem: React.FC = ({ const SortableGroupItemBase: React.FC<{ id: string; + disabled?: boolean; children: React.ReactNode; -}> = ({ id, children }) => { +}> = ({ id, disabled = false, children }) => { const { attributes, listeners, @@ -312,7 +313,7 @@ const SortableGroupItemBase: React.FC<{ transform, transition, isDragging, - } = useSortable({ id }); + } = useSortable({ id, disabled }); return (