diff --git a/src/components/layout/ClientLayout.tsx b/src/components/layout/ClientLayout.tsx index 3cbf9e8..593db05 100644 --- a/src/components/layout/ClientLayout.tsx +++ b/src/components/layout/ClientLayout.tsx @@ -27,6 +27,14 @@ export default function ClientLayout({ children }: { children: React.ReactNode } } }, [pathname, router]); + const handleCloseSidebar = () => { + setIsSidebarOpen(false); + }; + + const handleToggleSidebar = () => { + setIsSidebarOpen(!isSidebarOpen); + }; + // Gestionnaire pour fermer la barre latérale lors d'un clic en dehors useEffect(() => { const handleClickOutside = (event: MouseEvent) => { @@ -39,7 +47,7 @@ export default function ClientLayout({ children }: { children: React.ReactNode } toggleButton && !toggleButton.contains(event.target as Node) ) { - setIsSidebarOpen(false); + handleCloseSidebar(); } }; @@ -72,8 +80,8 @@ export default function ClientLayout({ children }: { children: React.ReactNode } return (
- {!isPublicRoute &&
setIsSidebarOpen(!isSidebarOpen)} />} - {!isPublicRoute && } + {!isPublicRoute &&
} + {!isPublicRoute && }
{children}
diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx index 180ad7c..598c013 100644 --- a/src/components/layout/Sidebar.tsx +++ b/src/components/layout/Sidebar.tsx @@ -10,9 +10,10 @@ import { FavoriteService } from "@/lib/services/favorite.service"; interface SidebarProps { isOpen: boolean; + onClose: () => void; } -export function Sidebar({ isOpen }: SidebarProps) { +export function Sidebar({ isOpen, onClose }: SidebarProps) { const pathname = usePathname(); const router = useRouter(); const [libraries, setLibraries] = useState([]); @@ -101,9 +102,14 @@ export function Sidebar({ isOpen }: SidebarProps) { storageService.clearAll(); setLibraries([]); setFavorites([]); + onClose(); router.push("/login"); }; + const handleLinkClick = () => { + onClose(); + }; + const navigation = [ { name: "Accueil", @@ -130,6 +136,7 @@ export function Sidebar({ isOpen }: SidebarProps) { Configuration