diff --git a/ui/src/components/IssueRow.tsx b/ui/src/components/IssueRow.tsx index 8a01e585..5711a69c 100644 --- a/ui/src/components/IssueRow.tsx +++ b/ui/src/components/IssueRow.tsx @@ -18,6 +18,7 @@ interface IssueRowProps { mobileMeta?: ReactNode; desktopTrailing?: ReactNode; trailingMeta?: ReactNode; + titleSuffix?: ReactNode; unreadState?: UnreadState | null; onMarkRead?: () => void; onArchive?: () => void; @@ -35,6 +36,7 @@ export function IssueRow({ mobileMeta, desktopTrailing, trailingMeta, + titleSuffix, unreadState = null, onMarkRead, onArchive, @@ -63,7 +65,7 @@ export function IssueRow({ - {issue.title} + {issue.title}{titleSuffix} {desktopLeadingSpacer ? ( diff --git a/ui/src/components/IssuesList.tsx b/ui/src/components/IssuesList.tsx index 948feeac..1e731e53 100644 --- a/ui/src/components/IssuesList.tsx +++ b/ui/src/components/IssuesList.tsx @@ -697,6 +697,11 @@ export function IssuesList({ issue={issue} issueLinkState={issueLinkState} className={isChild ? "pl-6 sm:pl-7" : undefined} + titleSuffix={hasChildren && !isExpanded ? ( + + ({children.length} sub-task{children.length !== 1 ? "s" : ""}) + + ) : undefined} mobileLeading={ hasChildren ? (