From 06dc156ebc657692d7f7cf3899eb60dc02e575a3 Mon Sep 17 00:00:00 2001 From: giteaadmin Date: Sun, 26 Apr 2026 08:06:12 +0000 Subject: [PATCH] update Minigame-4 1.3 --- www/html/Admin/admin.js | 27 ++++- www/html/Admin/api/game-quiz-settings.php | 2 +- www/html/Admin/index.html | 12 ++- www/html/Game/public/js/play.js | 115 +++++++++++++++++++--- www/html/Game/public/play.html | 2 +- www/html/Game/server.js | 10 ++ 6 files changed, 153 insertions(+), 15 deletions(-) diff --git a/www/html/Admin/admin.js b/www/html/Admin/admin.js index 0ad7c04..7e8fefe 100644 --- a/www/html/Admin/admin.js +++ b/www/html/Admin/admin.js @@ -355,6 +355,16 @@ function loadQuizCarryPanel() { gameQuizFetch('GET').then(function (data) { renderQuizCarryAdminList(data.carryQuestions || []); + var readSec = el('quiz-carry-read-sec'); + var ansSec = el('quiz-carry-answer-sec'); + if (readSec) { + var rms = Number(data.carryReadMs); + readSec.value = String(Number.isFinite(rms) ? Math.round(rms / 1000) : 3); + } + if (ansSec) { + var ams = Number(data.carryAnswerMs); + ansSec.value = String(Number.isFinite(ams) ? Math.round(ams / 1000) : 5); + } setMsg('quiz-carry-settings-msg', '', ''); }).catch(function (e) { setMsg('quiz-carry-settings-msg', e.message || 'โหลดไม่ได้', 'error'); @@ -396,7 +406,22 @@ }); }); - gameQuizFetch('PUT', { carryQuestions: carryQuestions }).then(function () { + var readSecEl = el('quiz-carry-read-sec'); + var ansSecEl = el('quiz-carry-answer-sec'); + var readSec = readSecEl ? parseInt(String(readSecEl.value || '3'), 10) : 3; + var ansSec = ansSecEl ? parseInt(String(ansSecEl.value || '5'), 10) : 5; + if (!Number.isFinite(readSec) || readSec < 0) readSec = 0; + if (readSec > 120) readSec = 120; + if (!Number.isFinite(ansSec) || ansSec < 1) ansSec = 1; + if (ansSec > 300) ansSec = 300; + var carryReadMs = readSec * 1000; + var carryAnswerMs = ansSec * 1000; + + gameQuizFetch('PUT', { + carryQuestions: carryQuestions, + carryReadMs: carryReadMs, + carryAnswerMs: carryAnswerMs, + }).then(function () { setMsg('quiz-carry-settings-msg', 'บันทึกแล้ว', 'ok'); }).catch(function (e) { setMsg('quiz-carry-settings-msg', e.message || 'บันทึกไม่ได้', 'error'); diff --git a/www/html/Admin/api/game-quiz-settings.php b/www/html/Admin/api/game-quiz-settings.php index d897e79..f15cf3f 100644 --- a/www/html/Admin/api/game-quiz-settings.php +++ b/www/html/Admin/api/game-quiz-settings.php @@ -46,7 +46,7 @@ function merge_quiz_settings_disk_from_put(string $rawBody): bool } } } - $mergeKeys = ['readMs', 'answerMs', 'betweenMs', 'questions', 'carryQuestions', 'battleQuizMcq']; + $mergeKeys = ['readMs', 'answerMs', 'betweenMs', 'carryReadMs', 'carryAnswerMs', 'questions', 'carryQuestions', 'battleQuizMcq']; foreach ($mergeKeys as $k) { if (array_key_exists($k, $patch)) { $base[$k] = $patch[$k]; diff --git a/www/html/Admin/index.html b/www/html/Admin/index.html index dc15946..e8bb5b5 100644 --- a/www/html/Admin/index.html +++ b/www/html/Admin/index.html @@ -165,7 +165,17 @@