From 4917bba468398169c2da0c189f6a8d08cafd4512 Mon Sep 17 00:00:00 2001 From: SW Date: Thu, 1 Oct 2026 15:06:58 +0200 Subject: [PATCH] debug: add logging and robust init to app.js --- static/app.js | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/static/app.js b/static/app.js index bbb7e6d..58a714b 100644 --- a/static/app.js +++ b/static/app.js @@ -1,7 +1,10 @@ -document.addEventListener('DOMContentLoaded', function () { +function initApp() { + console.log('sub-aligator app.js initialized'); + // Open allocation modal document.querySelectorAll('.allocate-btn').forEach(function (btn) { btn.addEventListener('click', function () { + console.log('allocate-btn clicked', btn.dataset); openAllocateModal(btn); }); }); @@ -43,13 +46,23 @@ document.addEventListener('DOMContentLoaded', function () { event.stopPropagation(); }); }); -}); +} async function openAllocateModal(btn) { const slug = btn.dataset.slug; const name = btn.dataset.name; const select = document.getElementById('prefix-' + slug); - const prefixLength = select ? select.value : ''; + let prefixLength = ''; + + if (select && select.value) { + prefixLength = select.value; + } else if (select && select.options.length > 0) { + prefixLength = select.options[0].value; + } else { + prefixLength = '24'; + } + + console.log('openAllocateModal', { slug: slug, name: name, prefixLength: prefixLength }); document.getElementById('modal-pool-slug').value = slug; document.getElementById('modal-prefix-length').value = prefixLength; @@ -72,8 +85,15 @@ async function openAllocateModal(btn) { document.getElementById('modal-usable-hosts').textContent = usableHosts; document.getElementById('modal-warning').textContent = warning; } catch (e) { + console.error('preview fetch failed', e); document.getElementById('modal-warning').textContent = 'Could not load preview.'; } document.getElementById('allocate-modal').style.display = 'flex'; } + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initApp); +} else { + initApp(); +}