diff --git a/crm/main.js b/crm/main.js index f46ff97..6ed2fd4 100644 --- a/crm/main.js +++ b/crm/main.js @@ -858,12 +858,51 @@ function getTitleSite() { // добавляет label, чтобы появились иконки поиска и очискти const currentUrl = window.location.href; -document.querySelector("#search-icon").addEventListener('click', () => { - document.querySelector("#search-panel").classList.add('mobsearch') -}) +// Общие элементы +const searchPanel = document.querySelector("#search-panel"); +const sidebar = document.querySelector("#sidebar"); + +// Обработчик для иконки поиска +document.querySelector("#search-icon").addEventListener('click', (e) => { + e.stopPropagation(); + // Закрываем боковое меню, если оно открыто + sidebar.classList.remove('show-side-menu'); + // Открываем поисковую панель + searchPanel.classList.add('mobsearch'); +}); + +// Обработчик для сброса поиска document.querySelector('#reset-search').addEventListener('click', () => { - document.querySelector("#search-panel").classList.remove('mobsearch') -} ) + searchPanel.classList.remove('mobsearch'); +}); + +// Обработчик для иконки бокового меню +document.querySelector("#side-menu-icon").addEventListener('click', (e) => { + e.stopPropagation(); + // Закрываем поисковую панель, если она открыта + searchPanel.classList.remove('mobsearch'); + // Открываем боковое меню + sidebar.classList.add('show-side-menu'); +}); + +// Общий обработчик для закрытия при клике вне элементов +document.addEventListener('click', (e) => { + // Закрываем поисковую панель, если клик был не по ней + if (!e.target.closest("#search-panel") && searchPanel.classList.contains('mobsearch')) { + searchPanel.classList.remove('mobsearch'); + } + + // Закрываем боковое меню, если клик был не по нему + if (!e.target.closest("#sidebar") && sideMenu.classList.contains('show-side-menu')) { + sidebar.classList.remove('show-side-menu'); + } +}); + +// Если есть кнопка закрытия внутри меню, можно добавить: +document.querySelector('#close-side-menu')?.addEventListener('click', () => { + document.querySelector("#side-menu").classList.remove('show-side-menu'); +}); + if ( /elma365.com\/ru\/help/i.test(currentUrl) || /elma365.com\/en\/help/i.test(currentUrl) ||