diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/Layout.jsx
index b1c1cc3..39ea429 100644
--- a/frontend/src/components/Layout.jsx
+++ b/frontend/src/components/Layout.jsx
@@ -217,10 +217,22 @@ function IconPlusCircle() {
);
}
+const IconBurger = () => (
+
+);
+
export default function Layout() {
const { sidebarCollapsed, setSidebarCollapsed, toggleSidebar, displayMode, setDisplayMode } = useUi();
const navigate = useNavigate();
const [navIcons, setNavIcons] = useState({});
+ const [burgerOpen, setBurgerOpen] = useState(false);
+ const burgerRef = useRef(null);
// Auto-collapse en mode portrait sur tablette (768–1200px)
useEffect(() => {
@@ -231,6 +243,16 @@ export default function Layout() {
return () => mq.removeEventListener('change', handler);
}, [setSidebarCollapsed]);
+ // Fermer le burger au clic extérieur
+ useEffect(() => {
+ if (!burgerOpen) return;
+ const handler = (e) => {
+ if (burgerRef.current && !burgerRef.current.contains(e.target)) setBurgerOpen(false);
+ };
+ document.addEventListener('mousedown', handler);
+ return () => document.removeEventListener('mousedown', handler);
+ }, [burgerOpen]);
+
useEffect(() => {
api.get('/icons').then(rows => {
const m = {};
@@ -302,28 +324,55 @@ export default function Layout() {
-