Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Give the issue list the same status shape as the change list

6813339b80d1e54e171e110f115ace68bba608a9 · Keenan Nemetz · 4d ago · parent 5899ae25

Give the issue list the same status shape as the change list

The two lists sat side by side with different status treatments: changes had an
icon and a sentence, issues had an uppercase pill. The issue list now uses the
same markup and class, so the shared style is called row-status rather than
pointing at one of the pages that happens to use it.

Closed issues keep a check rather than the change list's cross: closed is where
an issue ends, not where a change was dropped. The page headers keep the state
pill, as they do on both detail pages, so those two still agree.

server/issues_changes_test.go +11−4

@@ -903,6 +903,11 @@ func TestIssueAndChangeListsReturnFragmentsForHtmx(t *testing.T) {
903 903 if !strings.Contains(body, "Closed thing") || strings.Contains(body, "Open thing") {
904 904 t.Fatalf("issues fragment did not apply the state filter:\n%s", body)
905 905 }
906 // The list uses the same status shape as the change list, not the state pill
907 // the page headers still use.
908 if !strings.Contains(body, `class="row-status closed"`) || strings.Contains(body, `class="state closed"`) {
909 t.Fatalf("the closed issue does not use the list status style:\n%s", body)
910 }
906 911 if !strings.Contains(body, `hx-target="#issue-list"`) {
907 912 t.Fatal("issues fragment lost its HTMX target")
908 913 }
@@ -1464,6 +1469,8 @@ func TestIssueListShowsActivityColumnsAndSortsByUpdated(t *testing.T) {
1464 1469 }
1465 1470 for _, want := range []string{
1466 1471 "<th>Status</th><th>Issue</th><th>Labels</th><th>Assignees</th><th>Updated</th>",
1472 `<span class="row-status open">`,
1473 `>Open</span>`,
1467 1474 `<span>1 comment</span>`,
1468 1475 `<span class="label">bug</span>`,
1469 1476 `opened by <a class="user" href="/u/keenan">keenan</a>`,
@@ -1537,14 +1544,14 @@ func TestChangeListShowsOneStatus(t *testing.T) {
1537 1544 `<code>main</code>`,
1538 1545 `pinned to</span> <span class="sha"`,
1539 1546 `title="the branch this request follows">feature-one</code>`,
1540 `class="change-status review"`,
1547 `class="row-status review"`,
1541 1548 `title="0 of 1 required approvals."`,
1542 1549 "Waiting for review",
1543 `class="change-status ready"`,
1550 `class="row-status ready"`,
1544 1551 "Ready to merge",
1545 `class="change-status merged"`,
1552 `class="row-status merged"`,
1546 1553 "Merged",
1547 `class="change-status closed"`,
1554 `class="row-status closed"`,
1548 1555 "Closed",
1549 1556 `opened by <a class="user" href="/u/keenan">keenan</a>`,
1550 1557 `opened by <a class="user" href="/u/wilbur">wilbur</a>`,