import { useEffect, useMemo, useState } from "react"; import { NavLink, Outlet, useLocation } from "react-router-dom"; const QUALITY_SUB_ITEMS = [ { to: "/quality/dashboard", title: "Overview" }, { to: "/quality/pr-list", title: "PR List" }, { to: "/quality/settings", title: "Settings" }, ] as const; const PAGE_TITLES: Record = { "/planning": "Strategic Planning Workspace", "/devops": "Delivery Execution Workspace", "/quality/dashboard": "Quality Gate Overview", "/quality/pr-list": "Quality Gate · PR List", "/quality/settings": "Quality Gate · Settings", }; export default function Layout() { const { pathname } = useLocation(); const inQuality = pathname.startsWith("/quality"); const [qualityExpanded, setQualityExpanded] = useState(inQuality); useEffect(() => { if (inQuality) { setQualityExpanded(true); } }, [inQuality]); const pageTitle = useMemo(() => { if (PAGE_TITLES[pathname]) { return PAGE_TITLES[pathname]; } if (inQuality) { return "Quality Gate"; } return "SAFe OS"; }, [pathname, inQuality]); return (
{/* ─── Sidebar ─── */} {/* ─── Main workspace ─── */}

{pageTitle}

); }