"use client"; import Header from "@/components/Header/index"; import Sidebar from "@/components/Sidebar"; import React, { useState } from "react"; import { usePathname } from "next/navigation"; interface LayoutProps { children: React.ReactNode; } const Layout: React.FC = ({ children }) => { const [sidebarOpen, setSidebarOpen] = useState(false); const pathname = usePathname(); const getPageTitle = (path: string) => { const pathSegments = path.split("/").filter(Boolean); if (pathSegments.length <= 1) return "Overview"; const purePath = `/${pathSegments.slice(1).join("/")}`; const titles: Record = { "/users": "Users", "/settings": "Settings", "/profile": "Profile", "/songs": "Songs Database", "/events": "Worship & Events", }; return titles[purePath] || "Dashboard"; }; return (
setSidebarOpen(false)} /> {/* Mobile Sidebar Overlay */} {sidebarOpen && (
setSidebarOpen(false)} /> )}
setSidebarOpen(!sidebarOpen)} pageTitle={getPageTitle(pathname)} />
{children}
); }; export default Layout;