From 770706883a7d6f8b11522dc1e73d2cc0fbf08eb3 Mon Sep 17 00:00:00 2001 From: LD-Reborn Date: Sat, 15 Nov 2025 12:44:52 +0100 Subject: [PATCH] Added localization for Admin.cshtml, added url-based collapse state --- src/Resources/Views.Settings.Admin.resx | 91 +++++++++++++++++++++++++ src/Views/Settings/Admin.cshtml | 32 ++++++++- src/wwwroot/js/site.js | 4 ++ 3 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 src/Resources/Views.Settings.Admin.resx diff --git a/src/Resources/Views.Settings.Admin.resx b/src/Resources/Views.Settings.Admin.resx new file mode 100644 index 0000000..0f6561c --- /dev/null +++ b/src/Resources/Views.Settings.Admin.resx @@ -0,0 +1,91 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, ... + + + System.Resources.ResXResourceWriter, System.Windows.Forms, ... + + + + Benutzer + + + + Allgemeine Einstellungen + + + + Standard-Hashalgorithmus + + + + Barcode-Typ + + + + Barcode-Text + + + + Maximale Download-Größe für Benutzerbilder + + + + Voreinstellungen + + + + Name der Voreinstellung + + + + Attribute + + + + Name + + + + Wert + + + + Attribut löschen + + + + Attribut hinzufügen + + + + Voreinstellung löschen + + + + Voreinstellung hinzufügen + + + + Einstellungen übernehmen und Voreinstellungen aktualisieren + + + + Einstellungen erfolgreich aktualisiert + + + + Unbekannter Fehler + + + + Fehler bei der Kommunikation mit dem Server + + diff --git a/src/Views/Settings/Admin.cshtml b/src/Views/Settings/Admin.cshtml index c6d42d4..44fd484 100644 --- a/src/Views/Settings/Admin.cshtml +++ b/src/Views/Settings/Admin.cshtml @@ -84,7 +84,7 @@ }
-
+
@@ -179,10 +179,38 @@ } document.querySelectorAll('[data-bs-toggle="collapse"]').forEach(toggler => { - toggler.addEventListener('click', () => { + toggler.addEventListener('click', async () => { const icon = toggler.querySelector('.chevron-svg'); icon.classList.toggle('rotate'); + var target = document.querySelector(toggler.dataset.bsTarget); + while (target.classList.contains('collapsing')) { + await sleep(10); + } icon.parentElement.classList.toggle("no-bottom-border"); + const collapseId = toggler.dataset.bsTarget.replace('#', ''); + const isCollapsed = target.classList.contains('show'); + // Update URL parameter + const url = new URL(window.location); + url.searchParams.set(collapseId, isCollapsed); // true = open, false = collapsed + window.history.replaceState({}, '', url); + }); + }); + + document.addEventListener('DOMContentLoaded', () => { + const collapseElements = document.querySelectorAll('.collapse'); + + collapseElements.forEach(el => { + const paramValue = new URL(window.location).searchParams.get(el.id); + if (paramValue === 'true') { + el.classList.add('show'); + const toggler = document.querySelector(`[data-bs-target="#${el.id}"]`); + if (toggler) { + toggler.querySelector('.chevron-svg')?.classList.add('rotate'); + toggler.classList.add('no-bottom-border'); + } + } else { + el.classList.remove('show'); + } }); }); diff --git a/src/wwwroot/js/site.js b/src/wwwroot/js/site.js index 5ba6601..5347028 100644 --- a/src/wwwroot/js/site.js +++ b/src/wwwroot/js/site.js @@ -266,3 +266,7 @@ function unflatten(obj) { } return result; } + +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} \ No newline at end of file