thunderbird-patch-review

Easy-to-use patch review interface for Thunderbird

Contribute: ~marcc/thunderbird-review-plugin@lists.sr.ht

git clone git://mccd.space/thunderbird-patch-review

commit 7e7527f2aa32b3bbea1c218a9b6ded0376b13fe5
parent a23ea54eb255049183779f8e4bcf828a9a4103ba
Author: Pi Agent <agent@pi.local>
Date:   Sat, 18 Jul 2026 22:26:25 +0200

review: re-render nav on click; prepend bold "Reviewing patch N" title

The pill click handler updated state.current and the patch box but skipped\nrenderNav, so the .active pill never moved. Re-render nav on each click.\nWhile here, add a bold "Reviewing patch N" (or "Reviewing cover") label\nbefore the pills in the top bar, replacing the old static series title.

Diffstat:
Mextension/review/review.css | 5+++++
Mextension/review/review.js | 14++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/extension/review/review.css b/extension/review/review.css
@@ -62,6 +62,11 @@ body {
   flex-wrap: wrap;
 }
 
+#series-nav .series-title {
+  font-weight: 600;
+  white-space: nowrap;
+}
+
 #actions {
   display: flex;
   align-items: center;
diff --git a/extension/review/review.js b/extension/review/review.js
@@ -75,6 +75,19 @@ function renderNav() {
   const nav = state.navEl;
   if (!nav) return;
   nav.textContent = "";
+
+  const current = state.series[state.current];
+  const title = document.createElement("span");
+  title.className = "series-title";
+  title.textContent = current
+    ? current.isCover
+      ? "Reviewing cover"
+      : current.n !== null && current.m
+        ? `Reviewing patch ${current.n}`
+        : "Reviewing patch"
+    : "Review";
+  nav.appendChild(title);
+
   state.series.forEach((patch, i) => {
     const pill = document.createElement("span");
     pill.className = "pill" + (i === state.current ? " active" : "");
@@ -93,6 +106,7 @@ function renderNav() {
     pill.title = patch.subject;
     pill.addEventListener("click", () => {
       state.current = i;
+      renderNav();
       renderPatch();
     });
     nav.appendChild(pill);