From 6e54615d5496d44569f8e7dbda4d327280f0a4a3 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Fri, 17 Apr 2026 19:48:57 +0800 Subject: [PATCH] fix: Use Bootstrap API and delayed backdrop removal --- templates/partials/icon-picker-modal.twig | 26 ++++++++++++----------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/templates/partials/icon-picker-modal.twig b/templates/partials/icon-picker-modal.twig index 0bf669b..24fe8ba 100644 --- a/templates/partials/icon-picker-modal.twig +++ b/templates/partials/icon-picker-modal.twig @@ -417,21 +417,23 @@ } } + // Используем Bootstrap API для закрытия var modalEl = document.getElementById('iconPickerModal'); - if (modalEl) { - modalEl.classList.remove('show'); - modalEl.style.display = 'none'; - modalEl.setAttribute('aria-hidden', 'true'); - modalEl.removeAttribute('aria-modal'); + if (modalEl && typeof bootstrap !== 'undefined' && bootstrap.Modal) { + var modal = bootstrap.Modal.getInstance(modalEl); + if (modal) { + modal.hide(); + } } - var backdrop = document.querySelector('.modal-backdrop'); - if (backdrop) { - backdrop.remove(); - } - document.body.classList.remove('modal-open'); - document.body.style.paddingRight = ''; - document.body.style.overflow = ''; + // Принудительно удаляем backdrop через небольшую задержку + setTimeout(function() { + var backdrops = document.querySelectorAll('.modal-backdrop'); + backdrops.forEach(function(bp) { bp.remove(); }); + document.body.classList.remove('modal-open'); + document.body.style.paddingRight = ''; + document.body.style.overflow = ''; + }, 100); } document.addEventListener('DOMContentLoaded', function() {