Added localization for Admin.cshtml, added url-based collapse state

This commit is contained in:
2025-11-15 12:44:52 +01:00
parent fe1329985f
commit 770706883a
3 changed files with 125 additions and 2 deletions

View File

@@ -84,7 +84,7 @@
</div>
}
<div class="row mb-2">
<div class="col-md-4">
<div class="col-md-8 mt-2">
<button type="button" class="btn btn-danger" data-type="deletePreset">@T["Delete preset"]</button>
</div>
<div class="col-md-4 ms-auto mt-2">
@@ -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');
}
});
});