diff --git a/www/html/Admin/admin.js b/www/html/Admin/admin.js index 6009ae9..adc6857 100644 --- a/www/html/Admin/admin.js +++ b/www/html/Admin/admin.js @@ -4107,6 +4107,35 @@ .then(function () { if (btn) btn.disabled = false; }); } + function loadTroublesomeForcePanel() { + var chk = el('troublesome-force-offer'); + if (!chk) return; + gameTimingFetch('GET') + .then(function (data) { + chk.checked = !!(data && data.troublesomeForceOffer); + setMsg('troublesome-force-msg', '', ''); + }) + .catch(function (e) { setMsg('troublesome-force-msg', e.message || 'โหลดไม่ได้', 'error'); }); + } + function saveTroublesomeForcePanel() { + var chk = el('troublesome-force-offer'); + if (!chk) return; + var on = !!chk.checked; + var btn = el('btn-troublesome-force-save'); + if (btn) btn.disabled = true; + gameTimingFetch('GET') + .then(function (data) { + data.troublesomeForceOffer = on; + return gameTimingFetch('PUT', data); + }) + .then(function (res) { + if (res && typeof res === 'object') chk.checked = !!res.troublesomeForceOffer; + setMsg('troublesome-force-msg', on ? 'บันทึกแล้ว — บทตัวป่วนจะขึ้นเสมอ (เริ่มคดีใหม่เพื่อเทสต์)' : 'ปิดแล้ว — กลับเป็นปกติ (ขึ้นเฉพาะคนจริง > 4)', 'ok'); + }) + .catch(function (e) { setMsg('troublesome-force-msg', e.message || 'บันทึกไม่ได้', 'error'); }) + .then(function () { if (btn) btn.disabled = false; }); + } + function saveJumpSurviveTimingPanel() { var inp = el('jump-survive-height-mult'); var jumpSurvMult = inp ? parseFloat(String(inp.value)) : 1.5; @@ -4625,7 +4654,7 @@ if (name === 'game-timing') loadGameTimingPanel(); if (name === 'stack-game') loadStackGamePanel(); if (name === 'highscore') loadHighscore(); - if (name === 'test-mode') { loadForcedMinigamePanel(); loadSpecialCardByMapPanel(); } + if (name === 'test-mode') { loadForcedMinigamePanel(); loadSpecialCardByMapPanel(); loadTroublesomeForcePanel(); } } function boot() { @@ -4853,6 +4882,8 @@ if (forcedMgSaveBtn) forcedMgSaveBtn.addEventListener('click', saveForcedMinigamePanel); var specialCardSaveBtn = el('btn-special-card-by-map-save'); if (specialCardSaveBtn) specialCardSaveBtn.addEventListener('click', saveSpecialCardByMapPanel); + var troublesomeForceSaveBtn = el('btn-troublesome-force-save'); + if (troublesomeForceSaveBtn) troublesomeForceSaveBtn.addEventListener('click', saveTroublesomeForcePanel); syncTestModeUi(); /* ฟัง storage event — sync เมื่อเปิดหลายแท็บ */ window.addEventListener('storage', function (e) { diff --git a/www/html/Admin/index.html b/www/html/Admin/index.html index a6ca6da..d61e198 100644 --- a/www/html/Admin/index.html +++ b/www/html/Admin/index.html @@ -1109,6 +1109,9 @@
ปกติบทตัวป่วนจะเสนอเฉพาะเมื่อมีคนจริงเกิน 4 คน · เปิดอันนี้เพื่อบังคับให้ขึ้นเสมอแม้เล่นคนเดียว (ไว้เทสต์)
+ + + - +