diff --git a/templates/pages/repo.html b/templates/pages/repo.html index 669754b..daefca7 100644 --- a/templates/pages/repo.html +++ b/templates/pages/repo.html @@ -169,6 +169,7 @@ if (refsResp.ok) { currentRefs = await refsResp.json(); populateRefSelects(currentRefs); + updateButtonLinks(); } // Init graph with click-to-select @@ -305,6 +306,8 @@ showTab('diff'); loadDiff(); } + + updateButtonLinks(); } // Ensure a select has an option with given value @@ -331,12 +334,25 @@ if (baseHash || headHash) { GitGraph.setSelection(baseHash || null, headHash || null); } + updateButtonLinks(); }; baseSelect.addEventListener('change', sync); headSelect.addEventListener('change', sync); } + function updateButtonLinks() { + const base = document.getElementById('select-base').value; + const head = document.getElementById('select-head').value; + const params = new URLSearchParams(); + if (base) params.set('base', base); + if (head) params.set('head', head); + const qs = params.toString(); + const suffix = qs ? '?' + qs : ''; + document.getElementById('btn-generate').href = `/repo/${repoId}/generate${suffix}`; + document.getElementById('btn-review').href = `/repo/${repoId}/review${suffix}`; + } + function showTab(tab) { document.getElementById('panel-graph').classList.toggle('hidden', tab !== 'graph'); document.getElementById('panel-diff').classList.toggle('hidden', tab !== 'diff');