| ... | @@ -141,7 +141,6 @@ import { | ... | @@ -141,7 +141,6 @@ import { |
| 141 | } from "./pullRequestProjectAssignment.logic"; | 141 | } from "./pullRequestProjectAssignment.logic"; |
| 142 | import { PullRequestChecksPopover } from "./PullRequestChecksPopover"; | 142 | import { PullRequestChecksPopover } from "./PullRequestChecksPopover"; |
| 143 | import { | 143 | import { |
| 144 | PullRequestActorAvatar, | | |
| 145 | PullRequestActorLabel, | 144 | PullRequestActorLabel, |
| 146 | PullRequestDiffStat, | 145 | PullRequestDiffStat, |
| 147 | PullRequestMetaLine, | 146 | PullRequestMetaLine, |
| ... | @@ -656,6 +655,13 @@ export function PullRequestDetailPanel({ | ... | @@ -656,6 +655,13 @@ export function PullRequestDetailPanel({ |
| 656 | if (detail?.autoMergeMethod !== undefined) setMergeMethod(detail.autoMergeMethod); | 655 | if (detail?.autoMergeMethod !== undefined) setMergeMethod(detail.autoMergeMethod); |
| 657 | }, [detail?.autoMergeMethod, pullRequestKey]); | 656 | }, [detail?.autoMergeMethod, pullRequestKey]); |
| 658 | const repositoryUrl = detail === null ? null : changeRequestRepositoryUrl(detail.url); | 657 | const repositoryUrl = detail === null ? null : changeRequestRepositoryUrl(detail.url); |
| | 658 | const authorProfileUrl = |
| | 659 | detail?.provider === "github" && |
| | 660 | detail.author !== null && |
| | 661 | !detail.author.login.endsWith("[bot]") && |
| | 662 | repositoryUrl !== null |
| | 663 | ? new URL(`/${encodeURIComponent(detail.author.login)}`, repositoryUrl).toString() |
| | 664 | : null; |
| 659 | const checkoutCommand = detail | 665 | const checkoutCommand = detail |
| 660 | ? pullRequestCheckoutCommand( | 666 | ? pullRequestCheckoutCommand( |
| 661 | detail.provider, | 667 | detail.provider, |
| ... | @@ -1870,19 +1876,12 @@ export function PullRequestDetailPanel({ | ... | @@ -1870,19 +1876,12 @@ export function PullRequestDetailPanel({ |
| 1870 | <div className="col-span-2 min-w-0 px-4 pb-2 pt-1"> | 1876 | <div className="col-span-2 min-w-0 px-4 pb-2 pt-1"> |
| 1871 | <div className="flex min-w-0 items-center gap-2 text-xs text-muted-foreground"> | 1877 | <div className="flex min-w-0 items-center gap-2 text-xs text-muted-foreground"> |
| 1872 | <span className="flex min-w-0 shrink items-center gap-1.5 overflow-hidden text-xs text-muted-foreground"> | 1878 | <span className="flex min-w-0 shrink items-center gap-1.5 overflow-hidden text-xs text-muted-foreground"> |
| 1873 | <Tooltip> | 1879 | <PullRequestActorLabel |
| 1874 | <TooltipTrigger | 1880 | actor={detail.author} |
| 1875 | render={ | 1881 | profileUrl={authorProfileUrl} |
| 1876 | <span | 1882 | className="shrink-0 rounded-full" |
| 1877 | className="shrink-0 rounded-full" | 1883 | labelClassName="sr-only" |
| 1878 | aria-label={detail.author?.login ?? "ghost"} | 1884 | /> |
| 1879 | /> | | |
| 1880 | } | | |
| 1881 | > | | |
| 1882 | <PullRequestActorAvatar actor={detail.author} /> | | |
| 1883 | </TooltipTrigger> | | |
| 1884 | <TooltipPopup side="top">{detail.author?.login ?? "ghost"}</TooltipPopup> | | |
| 1885 | </Tooltip> | | |
| 1886 | <span className="shrink-0">{formatRelativeTimeLabel(detail.updatedAt)}</span> | 1885 | <span className="shrink-0">{formatRelativeTimeLabel(detail.updatedAt)}</span> |
| 1887 | </span> | 1886 | </span> |
| 1888 | <span aria-hidden className="h-3 w-px shrink-0 bg-border/70" /> | 1887 | <span aria-hidden className="h-3 w-px shrink-0 bg-border/70" /> |
| ... | @@ -2042,7 +2041,11 @@ export function PullRequestDetailPanel({ | ... | @@ -2042,7 +2041,11 @@ export function PullRequestDetailPanel({ |
| 2042 | )} | 2041 | )} |
| 2043 | <div className="mt-2 flex min-w-0 items-center gap-2 text-xs text-muted-foreground"> | 2042 | <div className="mt-2 flex min-w-0 items-center gap-2 text-xs text-muted-foreground"> |
| 2044 | <PullRequestMetaLine className="min-w-0 whitespace-nowrap"> | 2043 | <PullRequestMetaLine className="min-w-0 whitespace-nowrap"> |
| 2045 | <PullRequestActorLabel actor={detail.author} className="font-medium" /> | 2044 | <PullRequestActorLabel |
| | 2045 | actor={detail.author} |
| | 2046 | profileUrl={authorProfileUrl} |
| | 2047 | className="font-medium" |
| | 2048 | /> |
| 2046 | <span>updated {formatRelativeTimeLabel(detail.updatedAt)}</span> | 2049 | <span>updated {formatRelativeTimeLabel(detail.updatedAt)}</span> |
| 2047 | </PullRequestMetaLine> | 2050 | </PullRequestMetaLine> |
| 2048 | {checkoutCommand ? ( | 2051 | {checkoutCommand ? ( |