diff --git a/packages/ui/src/components/session/SessionDialogs.tsx b/packages/ui/src/components/session/SessionDialogs.tsx index 238e51c8..a90f933a 100644 --- a/packages/ui/src/components/session/SessionDialogs.tsx +++ b/packages/ui/src/components/session/SessionDialogs.tsx @@ -10,7 +10,7 @@ import { DialogHeader, DialogTitle, } from '@/components/ui/dialog'; -import { RiCheckboxBlankLine, RiCheckboxLine } from '@remixicon/react'; +import { RiCheckboxBlankLine, RiCheckboxLine, RiDeleteBinLine, RiGitBranchLine } from '@remixicon/react'; import { MobileOverlayPanel } from '@/components/ui/MobileOverlayPanel'; import { DirectoryExplorerDialog } from './DirectoryExplorerDialog'; import { cn, formatPathForDisplay } from '@/lib/utils'; @@ -379,22 +379,45 @@ export const SessionDialogs: React.FC = () => { : ''; const deleteDialogBody = deleteDialog ? ( -
+
{deleteDialog.sessions.length > 0 && ( -
+
{isWorktreeDelete && ( - - {deleteDialog.sessions.length === 1 ? 'Linked session' : 'Linked sessions'} - +
+ + {deleteDialog.sessions.length === 1 ? 'Linked session' : 'Linked sessions'} + + + {deleteDialog.sessions.length} + +
)} -
    +
      {deleteDialog.sessions.slice(0, 5).map((session) => ( -
    • - {session.title || 'Untitled Session'} +
    • + + • + + + {session.title || 'Untitled Session'} +
    • ))} {deleteDialog.sessions.length > 5 && ( -
    • +
    • +{deleteDialog.sessions.length - 5} more
    • )} @@ -403,8 +426,9 @@ export const SessionDialogs: React.FC = () => { )} {isWorktreeDelete ? ( -
      +
      + Worktree {targetWorktree?.label ? ( {targetWorktree.label} @@ -417,44 +441,6 @@ export const SessionDialogs: React.FC = () => {

      Uncommitted changes will be discarded.

      )} - {canRemoveRemoteBranches ? ( - - ) : ( -

      - Remote branch information unavailable for this worktree. -

      - )}
      ) : (
      @@ -466,7 +452,49 @@ export const SessionDialogs: React.FC = () => {
      ) : null; - const deleteDialogActions = ( + const deleteRemoteBranchAction = isWorktreeDelete ? ( + canRemoveRemoteBranches ? ( + + ) : ( + Remote branch info unavailable + ) + ) : null; + + const deleteDialogActions = isWorktreeDelete ? ( +
      + {deleteRemoteBranchAction} +
      + + +
      +
      + ) : ( <> ); @@ -522,12 +548,23 @@ export const SessionDialogs: React.FC = () => { } }} > - + - {deleteDialogTitle} + + {isWorktreeDelete && } + {deleteDialogTitle} + {deleteDialogDescription && {deleteDialogDescription}} - {deleteDialogBody} +
      + {deleteDialogBody} +
      {deleteDialogActions}