From c159dccd60890d6b30393b8965508c4173db4bea Mon Sep 17 00:00:00 2001 From: KONE SOREL Date: Wed, 25 Feb 2026 09:26:26 +0000 Subject: [PATCH] fav --- Vue/includes/scripts-footer.php | 123 +++++++++++++++++++++++++++----- 1 file changed, 107 insertions(+), 16 deletions(-) diff --git a/Vue/includes/scripts-footer.php b/Vue/includes/scripts-footer.php index 44501be1..0ff63f4c 100644 --- a/Vue/includes/scripts-footer.php +++ b/Vue/includes/scripts-footer.php @@ -119,14 +119,35 @@ $('select.selectpicker').selectpicker('refresh'); } - /* --- Sidebar toggle responsive --- */ - $('.toggle-sidebar-btn').on('click', function () { - $('body').toggleClass('toggle-sidebar'); - // Sur mobile, slide le sidebar - if ($(window).width() < 1200) { - $('#sidebar').toggleClass('sidebar-open'); - } - }); + /* --- Sidebar toggle --- + * On désactive le listener natif de main.js (Bootstrap template) en + * clonant le nœud DOM, ce qui supprime tous ses event listeners, + * puis on rebranche notre propre logique. + */ + (function () { + var $btn = $('.toggle-sidebar-btn'); + if (!$btn.length) return; + + // Cloner pour vider les listeners attachés par main.js + var $clone = $btn.clone(false); + $btn.replaceWith($clone); + + $clone.on('click', function () { + var isMobile = $(window).width() < 1200; + + if (isMobile) { + // Mobile : slide complet via classe CSS + $('#sidebar').toggleClass('sidebar-mobile-open'); + } else { + // Desktop : basculer entre plein / icônes seules + $('body').toggleClass('toggle-sidebar'); + // Forcer la fermeture des sous-menus collapse ouverts + if ($('body').hasClass('toggle-sidebar')) { + $('#sidebar .nav-content.show').collapse('hide'); + } + } + }); + })(); /* --- Highlight ligne active DataTable au clic --- */ $(document).on('click', '.table tbody tr', function () { @@ -149,22 +170,92 @@ }); // end document.ready - +