fix: OS gallery accordion auto-collapses other sections when one opens

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Prophet731
2026-03-19 13:39:02 -05:00
parent 9cd737c5d5
commit a9565ff6f9
2 changed files with 16 additions and 4 deletions

View File

@@ -239,8 +239,14 @@ add_hook('ClientAreaFooterOutput', 1, function ($vars) {
header.addEventListener('click', function() {
var isOpen = grid.style.display !== 'none';
grid.style.display = isOpen ? 'none' : '';
arrow.textContent = isOpen ? '\u25B6' : '\u25BC';
// Collapse all
galleryContainer.querySelectorAll('.vf-os-grid').forEach(function(g) { g.style.display = 'none'; });
galleryContainer.querySelectorAll('.vf-os-category-arrow').forEach(function(a) { a.textContent = '\u25B6'; });
// Toggle this one
if (!isOpen) {
grid.style.display = '';
arrow.textContent = '\u25BC';
}
});
cat.templates.forEach(function(tpl) {

View File

@@ -335,8 +335,14 @@ function vfRenderOsGallery(container, data, hiddenInput) {
header.on("click", function () {
var isVisible = grid.is(":visible");
grid.slideToggle(200);
arrow.html(isVisible ? '&#9654;' : '&#9660;');
// Collapse all other categories
$container.find(".vf-os-grid").slideUp(200);
$container.find(".vf-os-category-arrow").html('&#9654;');
// Toggle this one
if (!isVisible) {
grid.slideDown(200);
arrow.html('&#9660;');
}
});
$.each(category.templates, function (ti, tpl) {