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 fbcd1f445775750aa7d75cfc64fed4783eb738f2
parent 97e85837b70f6030cdaaff46eff49420a69222a2
Author: Pi Agent <agent@pi.local>
Date:   Sat, 18 Jul 2026 22:09:17 +0200

review: make the repo chip the Browse target

Drop the separate Browse button and make the repo-name chip itself the\npicker trigger: clicking it opens the directory chooser, so choosing\nand displaying the target repository are one control. The chip keeps its\nname · branch text and red-error state and joins the Apply split in the\nsame cluster.

Diffstat:
Mextension/review/review.css | 12++++++------
Mextension/review/review.html | 3+--
Mextension/review/review.js | 2+-
3 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/extension/review/review.css b/extension/review/review.css
@@ -83,8 +83,12 @@ body {
   overflow: hidden;
   text-overflow: ellipsis;
   user-select: none;
+  cursor: pointer;
+  text-align: left;
 }
 
+#repo-path:hover { background: var(--hunk-bg); }
+#repo-path.error { cursor: pointer; }
 #repo-path.error {
   border-color: #cf222e;
   color: #cf222e;
@@ -93,8 +97,8 @@ body {
   #repo-path.error { border-color: #f85149; color: #f85149; }
 }
 
-/* A joined cluster: the repo input, Browse, and the Apply split read as one
-   control. Children sit flush; inner borders merge and inner corners flatten. */
+/* A joined cluster: the repo chip and the Apply split read as one control.
+   Children sit flush; inner borders merge and inner corners flatten. */
 .cluster {
   display: flex;
   align-items: stretch;
@@ -103,10 +107,6 @@ body {
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
 }
-.cluster > #btn-browse {
-  border-radius: 0;
-  border-left: 0;
-}
 .cluster > .split {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
diff --git a/extension/review/review.html b/extension/review/review.html
@@ -10,8 +10,7 @@
     <div id="series-title">Loading…</div>
     <div id="actions">
       <div class="cluster" id="repo-cluster">
-        <span id="repo-path" title="Target repository">no repository chosen</span>
-        <button id="btn-browse" title="Choose the repository directory">Browse…</button>
+        <button id="repo-path" type="button" title="Click to choose the repository directory">no repository chosen</button>
         <div class="split" id="apply-split">
           <button id="btn-apply" title="Apply the patches to the repository (git am)">Apply</button>
           <button class="menu-toggle" title="Apply options">▾</button>
diff --git a/extension/review/review.js b/extension/review/review.js
@@ -647,7 +647,7 @@ async function applySeries(mode) {
   }
 }
 
-$("#btn-browse").addEventListener("click", async () => {
+$("#repo-path").addEventListener("click", async () => {
   const response = await bg({ type: "pick-repo", start: state.repo || "" });
   if (!response.ok) {
     showStatus(