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 @@