diff --git a/www/html/Admin/admin.css b/www/html/Admin/admin.css index d9a4c78..e3c8c05 100644 --- a/www/html/Admin/admin.css +++ b/www/html/Admin/admin.css @@ -2787,6 +2787,12 @@ code { border: 1px solid rgba(124, 154, 255, 0.18); } .cm-pick select { width: 100%; } +.cm-section-title { + margin: 1.25rem 0 0.5rem; + font-size: 1.05rem; + font-weight: 800; + color: #a8b8ff; +} .ev-suspect-block { border: 1px solid rgba(124, 154, 255, 0.25); diff --git a/www/html/Admin/admin.js b/www/html/Admin/admin.js index 67dbe85..b5c1801 100644 --- a/www/html/Admin/admin.js +++ b/www/html/Admin/admin.js @@ -4207,8 +4207,11 @@ if (caseMediaImages == null) { fetch(CASE_MEDIA_IMAGES_API + '?_=' + Date.now(), { credentials: 'include', cache: 'no-store' }) .then(function (r) { return r.json(); }) - .then(function (j) { caseMediaImages = (j && j.images) || { case: [], cutscene: [] }; renderCaseMedia(caseMediaCurrent); }) - .catch(function () { caseMediaImages = { case: [], cutscene: [] }; }); + .then(function (j) { + caseMediaImages = (j && j.images) || { case: [], cutscene: [], 'suspect-pick': [], 'culprit-prison': [] }; + renderCaseMedia(caseMediaCurrent); + }) + .catch(function () { caseMediaImages = { case: [], cutscene: [], 'suspect-pick': [], 'culprit-prison': [] }; }); } fetch(CASE_MEDIA_API + '?_=' + Date.now(), { credentials: 'include', cache: 'no-store' }) .then(function (r) { return r.json(); }) @@ -4235,6 +4238,12 @@ if (!Array.isArray(c.story)) c.story = []; if (typeof c.story[0] !== 'string') c.story[0] = '/Main-Lobby/IMAGE/cutscene/case-' + n + '-story-1.png'; if (typeof c.story[1] !== 'string') c.story[1] = '/Main-Lobby/IMAGE/cutscene/case-' + n + '-story-2.png'; + if (!Array.isArray(c.suspects) || c.suspects.length < 3) { + c.suspects = [1, 2, 3].map(function (s) { return '/Main-Lobby/IMAGE/suspect-pick/case-' + n + '-suspect-' + s + '.png'; }); + } + if (!Array.isArray(c.culprits) || c.culprits.length < 3) { + c.culprits = [1, 2, 3].map(function (s) { return '/Main-Lobby/IMAGE/culprit-prison/case-' + n + '-suspect-' + s + '.png'; }); + } return c; } @@ -4284,6 +4293,28 @@ grid.appendChild(caseMediaImagePicker('Cutscene รูปที่ 1', 'cutscene', c.story[0], function (v) { c.story[0] = v; })); grid.appendChild(caseMediaImagePicker('Cutscene รูปที่ 2', 'cutscene', c.story[1], function (v) { c.story[1] = v; })); root.appendChild(grid); + + var susHead = document.createElement('h3'); + susHead.className = 'cm-section-title'; + susHead.textContent = 'เลือกผู้ต้องสงสัย (3 คน) — LobbyB'; + root.appendChild(susHead); + var susGrid = document.createElement('div'); + susGrid.className = 'cm-grid'; + [0, 1, 2].forEach(function (si) { + susGrid.appendChild(caseMediaImagePicker('ผู้ต้องสงสัย ' + (si + 1), 'suspect-pick', c.suspects[si], function (v) { c.suspects[si] = v; })); + }); + root.appendChild(susGrid); + + var culHead = document.createElement('h3'); + culHead.className = 'cm-section-title'; + culHead.textContent = 'ส่งผู้ร้ายเข้าคุก (3 คน) — หน้าผลพิจารณาคดี'; + root.appendChild(culHead); + var culGrid = document.createElement('div'); + culGrid.className = 'cm-grid'; + [0, 1, 2].forEach(function (si) { + culGrid.appendChild(caseMediaImagePicker('คนร้ายในคุก ' + (si + 1), 'culprit-prison', c.culprits[si], function (v) { c.culprits[si] = v; })); + }); + root.appendChild(culGrid); } function saveCaseMediaPanel() { diff --git a/www/html/Admin/index.html b/www/html/Admin/index.html index a2b9606..8a042c7 100644 --- a/www/html/Admin/index.html +++ b/www/html/Admin/index.html @@ -335,7 +335,7 @@