diff --git a/frontend/assets/js/app.js b/frontend/assets/js/app.js index 914da9b..15ddd15 100644 --- a/frontend/assets/js/app.js +++ b/frontend/assets/js/app.js @@ -373,14 +373,11 @@ function showConfirm(msg) { document.getElementById('confirmMsg').textContent = msg; const btn = document.getElementById('confirmBtn'); let resolved = false; - const cleanup = () => { - btn.removeEventListener('click', onClick); - modalEl.removeEventListener('hidden.bs.modal', onHidden); - }; - const onClick = () => { resolved = true; cleanup(); modal.hide(); resolve(true); }; - const onHidden = () => { if (!resolved) { cleanup(); resolve(false); } }; - btn.addEventListener('click', onClick); - modalEl.addEventListener('hidden.bs.modal', onHidden); + const done = (val) => { if (resolved) return; resolved = true; modal.hide(); resolve(val); }; + const onKey = (e) => { if (e.key === 'Enter') { e.preventDefault(); done(true); } }; + btn.onclick = () => done(true); + modalEl.addEventListener('hidden.bs.modal', () => { document.removeEventListener('keydown', onKey); if (!resolved) resolve(false); }); + document.addEventListener('keydown', onKey); modal.show(); }); }