| ... | ... | @@ -1478,41 +1478,6 @@ export function PullRequestDetailPanel({ |
| 1478 | 1478 | </MenuPopup> |
| 1479 | 1479 | </Menu> |
| 1480 | 1480 | ) : null} |
| 1481 | | {workflowApprovalsRequired > 0 && can("approve-workflows") ? ( |
| 1482 | | <Tooltip> |
| 1483 | | <TooltipTrigger |
| 1484 | | render={ |
| 1485 | | <span className="inline-flex shrink-0"> |
| 1486 | | <Button |
| 1487 | | size="xs" |
| 1488 | | variant="warning-outline" |
| 1489 | | disabled={actionPending} |
| 1490 | | onClick={() => |
| 1491 | | setConfirmation({ open: true, action: "approve-workflows" }) |
| 1492 | | } |
| 1493 | | aria-label={ |
| 1494 | | pendingAction === "approve-workflows" |
| 1495 | | ? "Approving..." |
| 1496 | | : "Approve workflows to run" |
| 1497 | | } |
| 1498 | | > |
| 1499 | | <PlayIcon aria-hidden className="size-3.5" /> |
| 1500 | | <span className="@max-[40rem]/pr-header:hidden"> |
| 1501 | | {pendingAction === "approve-workflows" |
| 1502 | | ? "Approving..." |
| 1503 | | : "Approve workflows to run"} |
| 1504 | | </span> |
| 1505 | | </Button> |
| 1506 | | </span> |
| 1507 | | } |
| 1508 | | /> |
| 1509 | | <TooltipPopup side="top"> |
| 1510 | | {pendingAction === "approve-workflows" |
| 1511 | | ? "Approving..." |
| 1512 | | : "Approve workflows to run"} |
| 1513 | | </TooltipPopup> |
| 1514 | | </Tooltip> |
| 1515 | | ) : null} |
| 1516 | 1481 | {/* Said where the Merge button is, because it is the answer to why nobody has |
| 1517 | 1482 | pressed it: the merge is already asked for, and the host is holding it. */} |
| 1518 | 1483 | {autoMergeArmed && primaryAction !== "auto-merge-armed" ? ( |
| ... | ... | @@ -2165,20 +2130,58 @@ export function PullRequestDetailPanel({ |
| 2165 | 2130 | ))} |
| 2166 | 2131 | </ToggleGroup> |
| 2167 | 2132 | {tab === "summary" ? ( |
| 2168 | | <span |
| 2169 | | className="ml-auto inline-flex shrink-0 items-center gap-1.5 text-xs text-muted-foreground" |
| 2170 | | aria-label={checksSummary ? `Checks: ${checksSummary}` : "Checks"} |
| 2171 | | > |
| 2172 | | {checksState !== null ? ( |
| 2173 | | <PullRequestChecksPopover |
| 2174 | | checks={detail.checks} |
| 2175 | | checksState={checksState} |
| 2176 | | threadRef={threadRef} |
| 2177 | | /> |
| 2133 | <span className="ml-auto inline-flex shrink-0 items-center"> |
| 2134 | {workflowApprovalsRequired > 0 && can("approve-workflows") ? ( |
| 2135 | <Tooltip> |
| 2136 | <TooltipTrigger |
| 2137 | render={ |
| 2138 | <span className="inline-flex shrink-0"> |
| 2139 | <Button |
| 2140 | size="xs" |
| 2141 | variant="warning-outline" |
| 2142 | disabled={actionPending} |
| 2143 | onClick={() => |
| 2144 | setConfirmation({ open: true, action: "approve-workflows" }) |
| 2145 | } |
| 2146 | aria-label={ |
| 2147 | pendingAction === "approve-workflows" |
| 2148 | ? "Approving..." |
| 2149 | : "Approve workflows to run" |
| 2150 | } |
| 2151 | > |
| 2152 | <PlayIcon aria-hidden className="size-3.5" /> |
| 2153 | <span> |
| 2154 | {pendingAction === "approve-workflows" |
| 2155 | ? "Approving..." |
| 2156 | : "Approve workflows to run"} |
| 2157 | </span> |
| 2158 | </Button> |
| 2159 | </span> |
| 2160 | } |
| 2161 | /> |
| 2162 | <TooltipPopup side="top"> |
| 2163 | {pendingAction === "approve-workflows" |
| 2164 | ? "Approving..." |
| 2165 | : "Approve workflows to run"} |
| 2166 | </TooltipPopup> |
| 2167 | </Tooltip> |
| 2178 | 2168 | ) : ( |
| 2179 | | <CircleDotIcon aria-hidden className="size-3.5" /> |
| 2169 | <span |
| 2170 | className="inline-flex items-center gap-1.5 text-xs text-muted-foreground" |
| 2171 | aria-label={checksSummary ? `Checks: ${checksSummary}` : "Checks"} |
| 2172 | > |
| 2173 | {checksState !== null ? ( |
| 2174 | <PullRequestChecksPopover |
| 2175 | checks={detail.checks} |
| 2176 | checksState={checksState} |
| 2177 | threadRef={threadRef} |
| 2178 | /> |
| 2179 | ) : ( |
| 2180 | <CircleDotIcon aria-hidden className="size-3.5" /> |
| 2181 | )} |
| 2182 | {checksSummary} |
| 2183 | </span> |
| 2180 | 2184 | )} |
| 2181 | | {checksSummary} |
| 2182 | 2185 | </span> |
| 2183 | 2186 | ) : tab === "timeline" ? ( |
| 2184 | 2187 | <div className="ml-auto flex shrink-0 items-center gap-2 text-xs text-muted-foreground"> |