From df2f217e22cb3ca703db5a4777861a0257e62d1e Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Mon, 11 May 2026 00:11:14 +0200 Subject: [PATCH] sdfsd --- partials/landingpages/modules/setup.php | 121 ++++++++++++++---------- public/assets/js/app.js | 4 +- 2 files changed, 73 insertions(+), 52 deletions(-) diff --git a/partials/landingpages/modules/setup.php b/partials/landingpages/modules/setup.php index 56702d8..edb609a 100644 --- a/partials/landingpages/modules/setup.php +++ b/partials/landingpages/modules/setup.php @@ -1628,38 +1628,63 @@ $GLOBALS['layout_header_context'] = 'Setup / ' . ($sectionTitles[$currentSection - +
- Aktionen -

Datenbankaktionen

-

Tabellenbezogene Wartungsaktionen koennen direkt hier ausgefuehrt werden.

+ Datenbank +

Datenbankaktionen und Tabellenstatus

+

Tabellenbezogene Wartungsaktionen und der aktuelle Schema-Status werden hier gemeinsam angezeigt.

-
- - -
- - - - -
- + +
+ + +
+ + + + +
+ +
+ +
+ + + +
+
+ Status +

+

Der Status wird beim Aufruf der Setup-Seite automatisch geprueft.

- -
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
@@ -1698,30 +1723,6 @@ $GLOBALS['layout_header_context'] = 'Setup / ' . ($sectionTitles[$currentSection - -
-
-
- Status -

-

Der Status wird beim Aufruf der Setup-Seite automatisch geprueft.

-
-
-
- -
- -
- - - -
- -
-
> @@ -1754,7 +1755,7 @@ $GLOBALS['layout_header_context'] = 'Setup / ' . ($sectionTitles[$currentSection -
> +
> $label): ?> { const value = String(modeField.value || '').trim().toLowerCase(); const isCustom = !['', '0', 'false', 'off', 'standard'].includes(value); tabsRoot.hidden = !isCustom; panelsRoot.hidden = !isCustom; + customBlock.hidden = !isCustom; + if (!isCustom) { + dbPanels.forEach((panel) => { + panel.hidden = true; + }); + return; + } + const activeTab = document.querySelector('[data-setup-tab-target].is-active') || document.querySelector('[data-setup-tab-target]'); + const activeTargetId = activeTab ? activeTab.dataset.setupTabTarget : ''; + dbPanels.forEach((panel) => { + if (tabsRoot.hidden || tabsRoot.childElementCount <= 1) { + panel.hidden = false; + return; + } + panel.hidden = panel.id !== activeTargetId; + }); }; modeField.addEventListener('change', sync); sync(); diff --git a/public/assets/js/app.js b/public/assets/js/app.js index b16a2f0..d6de453 100755 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -95,13 +95,15 @@ if (setupTabs.length > 0) { } const activateSetupTab = (targetId) => { + const dbPanelsRoot = document.querySelector('[data-setup-db-panels]'); + const dbPanelsHidden = dbPanelsRoot ? dbPanelsRoot.hidden : false; for (const tab of setupTabs) { const isActive = tab.dataset.setupTabTarget === targetId; tab.classList.toggle('is-active', isActive); tab.setAttribute('aria-selected', isActive ? 'true' : 'false'); } for (const panel of setupPanels) { - const isActive = panel.id === targetId; + const isActive = !dbPanelsHidden && panel.id === targetId; panel.hidden = !isActive; for (const control of panel.querySelectorAll('input, select, textarea')) { if (control.dataset.setupRequired === 'true') {