diff --git a/packages/ui/src/components/session/SessionSidebar.tsx b/packages/ui/src/components/session/SessionSidebar.tsx index 52c6b6ec..62325b93 100644 --- a/packages/ui/src/components/session/SessionSidebar.tsx +++ b/packages/ui/src/components/session/SessionSidebar.tsx @@ -41,6 +41,7 @@ import { RiFileCopyLine, RiFolderAddLine, RiGitBranchLine, + RiGitPullRequestLine, RiLinkUnlinkM, RiGithubLine, @@ -68,6 +69,7 @@ import { useGitStore } from '@/stores/useGitStore'; import { isVSCodeRuntime } from '@/lib/desktop'; import { updateDesktopSettings } from '@/lib/persistence'; import { GitHubIssuePickerDialog } from './GitHubIssuePickerDialog'; +import { GitHubPullRequestPickerDialog } from './GitHubPullRequestPickerDialog'; const ATTENTION_DIAMOND_INDICES = new Set([1, 3, 4, 5, 7]); @@ -194,6 +196,7 @@ interface SortableProjectItemProps { onNewSession: () => void; onNewWorktreeSession?: () => void; onNewSessionFromGitHubIssue?: () => void; + onNewSessionFromGitHubPR?: () => void; onOpenMultiRunLauncher: () => void; onRenameStart: () => void; onRenameSave: () => void; @@ -226,6 +229,7 @@ const SortableProjectItem: React.FC = ({ onNewSession, onNewWorktreeSession, onNewSessionFromGitHubIssue, + onNewSessionFromGitHubPR, onOpenMultiRunLauncher, onRenameStart, onRenameSave, @@ -384,6 +388,12 @@ const SortableProjectItem: React.FC = ({ New session from GitHub issue )} + {showCreateButtons && isRepo && !hideDirectoryControls && onNewSessionFromGitHubPR && ( + + + New session from GitHub PR + + )} {showCreateButtons && isRepo && !hideDirectoryControls && ( @@ -534,6 +544,7 @@ export const SessionSidebar: React.FC = ({ const [expandedSessionGroups, setExpandedSessionGroups] = React.useState>(new Set()); const [hoveredProjectId, setHoveredProjectId] = React.useState(null); const [issuePickerOpen, setIssuePickerOpen] = React.useState(false); + const [pullRequestPickerOpen, setPullRequestPickerOpen] = React.useState(false); const [stuckProjectHeaders, setStuckProjectHeaders] = React.useState>(new Set()); const [openMenuSessionId, setOpenMenuSessionId] = React.useState(null); const [collapsedGroups, setCollapsedGroups] = React.useState>(() => { @@ -2308,6 +2319,19 @@ export const SessionSidebar: React.FC = ({

New from issue

+ + + + +

New from PR

+