diff --git a/templates/pages/generate.html b/templates/pages/generate.html
index a2f9bba..54f463a 100644
--- a/templates/pages/generate.html
+++ b/templates/pages/generate.html
@@ -113,12 +113,25 @@
headSelect.appendChild(opt2);
});
- // Auto-select main/master as base, HEAD as head
+ // Auto-select from URL params, or fall back to main/master and HEAD
+ const params = new URLSearchParams(window.location.search);
+ const urlBase = params.get('base');
+ const urlHead = params.get('head');
+
const mainBranch = branches.find(b => b.name === 'main' || b.name === 'master');
const headBranch = branches.find(r => r.is_head);
- if (mainBranch) baseSelect.value = mainBranch.name;
- if (headBranch) headSelect.value = headBranch.name;
+ if (urlBase && branches.some(b => b.name === urlBase)) {
+ baseSelect.value = urlBase;
+ } else if (mainBranch) {
+ baseSelect.value = mainBranch.name;
+ }
+
+ if (urlHead && branches.some(b => b.name === urlHead)) {
+ headSelect.value = urlHead;
+ } else if (headBranch) {
+ headSelect.value = headBranch.name;
+ }
} catch (err) {
console.error('Load refs error:', err);
const errDiv = document.getElementById('load-error');