diff --git a/public/assets/js/ui-editor.js b/public/assets/js/ui-editor.js
index b447f33..112f511 100644
--- a/public/assets/js/ui-editor.js
+++ b/public/assets/js/ui-editor.js
@@ -35,6 +35,7 @@ export function initEditor() {
const btnUnsavedSave = document.getElementById('btn-unsaved-save');
const btnActivateVersion = document.getElementById('btn-activate-version');
const btnDeactivateVersion = document.getElementById('btn-deactivate-version');
+ const versionActiveBadge = document.getElementById('versionActiveBadge');
const activateDialog = document.getElementById('activateVersionDialog');
const btnActivateCancel = document.getElementById('btn-activate-cancel');
const btnActivateNo = document.getElementById('btn-activate-no');
@@ -105,6 +106,7 @@ export function initEditor() {
// restore button removed
if (btnActivateVersion) btnActivateVersion.classList.toggle('hidden', !show);
if (btnDeactivateVersion) btnDeactivateVersion.classList.toggle('hidden', !show);
+ if (versionActiveBadge) versionActiveBadge.classList.toggle('hidden', !show);
}
setVersionUiVisible(false);
@@ -311,6 +313,10 @@ export function initEditor() {
const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1);
btnActivateVersion.classList.toggle('hidden', isActive || !currentVersionId);
}
+ if (versionActiveBadge) {
+ const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1);
+ versionActiveBadge.classList.toggle('hidden', !isActive);
+ }
}
function renderVersionOptions(items) {
diff --git a/public/assets/js/ui-list.js b/public/assets/js/ui-list.js
index d3ece11..067246f 100644
--- a/public/assets/js/ui-list.js
+++ b/public/assets/js/ui-list.js
@@ -234,9 +234,15 @@ export async function loadList(section) {
return;
}
selectEl.disabled = false;
- items.forEach(item => {
+ const sorted = items.slice().sort((a, b) => {
+ const aActive = Number(a.is_active) === 1 ? 1 : 0;
+ const bActive = Number(b.is_active) === 1 ? 1 : 0;
+ if (aActive !== bActive) return bActive - aActive;
+ return Number(b.id || 0) - Number(a.id || 0);
+ });
+ sorted.forEach(item => {
const opt = document.createElement('option');
- const label = `#${item.version_no} โ ${formatVersionDate(item.created_at)}` + (Number(item.is_active) === 1 ? ' (aktiv)' : '');
+ const label = `${Number(item.is_active) === 1 ? 'โ ' : ''}#${item.version_no} โ ${formatVersionDate(item.created_at)}` + (Number(item.is_active) === 1 ? ' (aktiv)' : '');
opt.value = String(item.id);
opt.textContent = label;
selectEl.appendChild(opt);
diff --git a/public/index.php b/public/index.php
index 7c747c9..7ecf57f 100644
--- a/public/index.php
+++ b/public/index.php
@@ -62,6 +62,7 @@ require __DIR__ . '/../partials/structure/layout_start.php';
+ Aktiv