diff --git a/public/assets/js/ui-editor.js b/public/assets/js/ui-editor.js index 0821a9a..5100676 100644 --- a/public/assets/js/ui-editor.js +++ b/public/assets/js/ui-editor.js @@ -33,6 +33,7 @@ export function initEditor() { const btnUnsavedCancel = document.getElementById('btn-unsaved-cancel'); const btnUnsavedDiscard = document.getElementById('btn-unsaved-discard'); const btnUnsavedSave = document.getElementById('btn-unsaved-save'); + const btnActivateVersion = document.getElementById('btn-activate-version'); const btnDeactivateVersion = document.getElementById('btn-deactivate-version'); const activateDialog = document.getElementById('activateVersionDialog'); const btnActivateCancel = document.getElementById('btn-activate-cancel'); @@ -102,6 +103,7 @@ export function initEditor() { function setVersionUiVisible(show) { if (versionSelect) versionSelect.classList.toggle('hidden', !show); // restore button removed + if (btnActivateVersion) btnActivateVersion.classList.toggle('hidden', !show); if (btnDeactivateVersion) btnDeactivateVersion.classList.toggle('hidden', !show); } @@ -305,6 +307,10 @@ export function initEditor() { const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1); btnDeactivateVersion.classList.toggle('hidden', !isActive); } + if (btnActivateVersion) { + const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1); + btnActivateVersion.classList.toggle('hidden', isActive || !currentVersionId); + } } function renderVersionOptions(items) { @@ -1012,6 +1018,17 @@ export function initEditor() { btnCancelSend&& (btnCancelSend.onclick= closeSend); sendForm && (sendForm.onsubmit = doSend); editorSelect && (editorSelect.onchange = () => switchEditor(editorSelect.value)); + btnActivateVersion && (btnActivateVersion.onclick = async () => { + if (!current?.id || !currentVersionId) return; + try { + const res = await apiAction('content_versions.activate', { method: 'POST', data: { id: currentVersionId } }); + if (!res?.ok) throw new Error(res?.error || 'Aktivieren fehlgeschlagen'); + await loadVersionsForCurrent(); + toast('Version aktiviert', true); + } catch (e) { + err(e.message || 'Aktivieren fehlgeschlagen'); + } + }); btnDeactivateVersion && (btnDeactivateVersion.onclick = async () => { if (!current?.id) return; if (!currentVersionMeta || Number(currentVersionMeta.is_active) !== 1) return; diff --git a/public/index.php b/public/index.php index 7d1b0ee..7c747c9 100644 --- a/public/index.php +++ b/public/index.php @@ -62,6 +62,7 @@ require __DIR__ . '/../partials/structure/layout_start.php'; +