|
232 | 232 | font-weight: var(--font-weight-medium); |
233 | 233 | } |
234 | 234 |
|
235 | | -.ci-container .muted { |
| 235 | +:is(.ci-container, .ci-badges) .muted { |
236 | 236 | color: var(--color-text-muted); |
237 | 237 | font-size: var(--font-size-sm); |
238 | 238 | } |
|
265 | 265 | color: var(--color-success); |
266 | 266 | } |
267 | 267 |
|
268 | | -/* badges */ |
269 | | -.ci-container .badge { |
| 268 | +/* badges - two names, not a bare class: .b-success and friends read generic |
| 269 | + enough to collide with something else on the site, so anything outside the |
| 270 | + CI pages has to opt in by also carrying .ci-badges */ |
| 271 | +:is(.ci-container, .ci-badges) .badge { |
270 | 272 | display: inline-block; |
271 | 273 | padding: 2px 9px; |
272 | 274 | border-radius: 999px; |
|
275 | 277 | white-space: nowrap; |
276 | 278 | } |
277 | 279 |
|
278 | | -.ci-container .b-running { background: var(--ci-blue-bg); color: var(--ci-blue-fg); } |
279 | | -.ci-container .b-queued { background: var(--color-bg-button); color: var(--color-text-secondary); } |
280 | | -.ci-container .b-success { background: var(--ci-green-bg); color: var(--ci-green-fg); } |
281 | | -.ci-container .b-testsfail { background: var(--ci-amber-bg); color: var(--ci-amber-fg); } |
282 | | -.ci-container .b-buildfail { background: var(--ci-red-bg); color: var(--ci-red-fg); } |
283 | | -.ci-container .b-infra { background: var(--ci-purple-bg); color: var(--ci-purple-fg); } |
284 | | -.ci-container .b-newver { background: var(--color-primary-100); color: var(--color-primary-900); } |
285 | | -.ci-container .b-rebase { background: var(--ci-amber-bg); color: var(--ci-amber-fg); } |
286 | | -.ci-container .b-backfill { background: var(--color-bg-button); color: var(--color-text-secondary); } |
| 280 | +:is(.ci-container, .ci-badges) .b-running { background: var(--ci-blue-bg); color: var(--ci-blue-fg); } |
| 281 | +:is(.ci-container, .ci-badges) .b-queued { background: var(--color-bg-button); color: var(--color-text-secondary); } |
| 282 | +:is(.ci-container, .ci-badges) .b-success { background: var(--ci-green-bg); color: var(--ci-green-fg); } |
| 283 | +:is(.ci-container, .ci-badges) .b-testsfail { background: var(--ci-amber-bg); color: var(--ci-amber-fg); } |
| 284 | +:is(.ci-container, .ci-badges) .b-buildfail { background: var(--ci-red-bg); color: var(--ci-red-fg); } |
| 285 | +:is(.ci-container, .ci-badges) .b-infra { background: var(--ci-purple-bg); color: var(--ci-purple-fg); } |
| 286 | +:is(.ci-container, .ci-badges) .b-newver { background: var(--color-primary-100); color: var(--color-primary-900); } |
| 287 | +:is(.ci-container, .ci-badges) .b-rebase { background: var(--ci-amber-bg); color: var(--ci-amber-fg); } |
| 288 | +:is(.ci-container, .ci-badges) .b-backfill { background: var(--color-bg-button); color: var(--color-text-secondary); } |
287 | 289 |
|
288 | 290 | /* branch search */ |
289 | 291 | .ci-search { |
|
613 | 615 | grid-template-columns: minmax(0, 1fr); |
614 | 616 | } |
615 | 617 | } |
| 618 | + |
| 619 | +/* thread page CI block */ |
| 620 | +.ci-thread-row { |
| 621 | + display: flex; |
| 622 | + gap: var(--spacing-2); |
| 623 | + align-items: baseline; |
| 624 | + margin-bottom: var(--spacing-2); |
| 625 | +} |
| 626 | + |
| 627 | +.ci-thread-label { |
| 628 | + color: var(--color-text-muted); |
| 629 | + font-size: var(--font-size-xs); |
| 630 | + text-transform: uppercase; |
| 631 | + letter-spacing: 0.04em; |
| 632 | + min-width: 4.5em; |
| 633 | +} |
| 634 | + |
| 635 | +.ci-thread-note { |
| 636 | + font-size: var(--font-size-sm); |
| 637 | + margin-bottom: var(--spacing-2); |
| 638 | +} |
| 639 | + |
| 640 | +.ci-thread-failed { |
| 641 | + list-style: none; |
| 642 | + padding: 0; |
| 643 | + margin: 0 0 var(--spacing-2) 0; |
| 644 | + font-family: var(--font-mono); |
| 645 | + font-size: var(--font-size-xs); |
| 646 | + color: var(--ci-amber-fg); |
| 647 | +} |
| 648 | + |
| 649 | +.ci-thread-links { |
| 650 | + display: flex; |
| 651 | + gap: var(--spacing-3); |
| 652 | + font-size: var(--font-size-sm); |
| 653 | +} |
| 654 | + |
| 655 | +/* shared by the thread sidebar block and the banner - a wrapping row of |
| 656 | + badges/links at font-size-sm. Do not split this back into per-block copies. */ |
| 657 | +.ci-thread-value, |
| 658 | +.ci-banner-status, |
| 659 | +.ci-banner-head { |
| 660 | + display: flex; |
| 661 | + flex-wrap: wrap; |
| 662 | + align-items: baseline; |
| 663 | + gap: var(--spacing-2); |
| 664 | + font-size: var(--font-size-sm); |
| 665 | +} |
| 666 | + |
| 667 | +/* thread page CI banner. Tinted and accented rather than another card: it sits |
| 668 | + directly above the messages and has to read as a notice about the site, not |
| 669 | + as the first message in the thread. */ |
| 670 | +.ci-banner { |
| 671 | + border: var(--border-width) solid var(--color-border); |
| 672 | + border-left: var(--border-width-reply) solid var(--color-primary-500); |
| 673 | + border-radius: var(--border-radius-md); |
| 674 | + background: var(--color-bg-hoverbox); |
| 675 | + padding: var(--spacing-3); |
| 676 | + margin-bottom: var(--spacing-4); |
| 677 | + display: flex; |
| 678 | + flex-direction: column; |
| 679 | + gap: var(--spacing-2); |
| 680 | +} |
| 681 | + |
| 682 | +.ci-banner-lead { |
| 683 | + margin: 0; |
| 684 | + font-size: var(--font-size-sm); |
| 685 | + color: var(--color-text-primary); |
| 686 | + max-width: 80ch; |
| 687 | +} |
| 688 | + |
| 689 | +.ci-banner-tag { |
| 690 | + display: inline-flex; |
| 691 | + align-items: baseline; |
| 692 | + gap: var(--spacing-1); |
| 693 | + padding: 2px 10px; |
| 694 | + border-radius: 999px; |
| 695 | + background: var(--ci-purple-bg); |
| 696 | + color: var(--ci-purple-fg); |
| 697 | + font-size: var(--font-size-xs); |
| 698 | + font-weight: var(--font-weight-semibold); |
| 699 | + text-transform: uppercase; |
| 700 | + letter-spacing: 0.06em; |
| 701 | +} |
| 702 | + |
| 703 | +/* the commands are the one thing here worth acting on, so they get a rule of |
| 704 | + their own rather than sitting flush against the prose above them */ |
| 705 | +.ci-banner-docker { |
| 706 | + border-top: var(--border-width) solid var(--color-border); |
| 707 | + padding-top: var(--spacing-2); |
| 708 | +} |
| 709 | + |
| 710 | +/* one scroll container per line: .ci-copy is inline-block and nowrap, and a |
| 711 | + full ghcr ref is longer than a narrow thread column */ |
| 712 | +.ci-banner-cmd-line { |
| 713 | + margin-bottom: var(--spacing-1); |
| 714 | + overflow-x: auto; |
| 715 | +} |
| 716 | + |
| 717 | +.ci-banner-cmd-text { |
| 718 | + display: inline-block; |
| 719 | + font-family: var(--font-mono); |
| 720 | + font-size: var(--font-size-xs); |
| 721 | + color: var(--color-text-secondary); |
| 722 | + padding: 2px 8px; |
| 723 | +} |
| 724 | + |
| 725 | +.ci-banner-docker-lead, |
| 726 | +.ci-banner-provenance { |
| 727 | + margin: 0; |
| 728 | + font-size: var(--font-size-sm); |
| 729 | + color: var(--color-text-secondary); |
| 730 | +} |
| 731 | + |
| 732 | +.ci-banner-warning { |
| 733 | + display: flex; |
| 734 | + gap: var(--spacing-2); |
| 735 | + align-items: baseline; |
| 736 | + margin: 0; |
| 737 | + padding: var(--spacing-2); |
| 738 | + border-radius: var(--border-radius-sm); |
| 739 | + background: var(--ci-amber-bg); |
| 740 | + color: var(--ci-amber-fg); |
| 741 | + font-size: var(--font-size-sm); |
| 742 | +} |
0 commit comments