/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { observer } from "mobx-react"; import { usePathname } from "next/navigation"; import { Menu, Settings } from "lucide-react"; // icons import { Breadcrumbs } from "@plane/ui"; // components import { BreadcrumbLink } from "../breadcrumb-link"; // hooks import { useTheme } from "@/hooks/store"; // local imports import { CORE_HEADER_SEGMENT_LABELS } from "./core"; import { EXTENDED_HEADER_SEGMENT_LABELS } from "./extended"; export const HamburgerToggle = observer(function HamburgerToggle() { const { isSidebarCollapsed, toggleSidebar } = useTheme(); return ( ); }); const HEADER_SEGMENT_LABELS = { ...CORE_HEADER_SEGMENT_LABELS, ...EXTENDED_HEADER_SEGMENT_LABELS, }; export const AdminHeader = observer(function AdminHeader() { const pathName = usePathname(); // Function to dynamically generate breadcrumb items based on pathname const generateBreadcrumbItems = (pathname: string) => { const pathSegments = pathname.split("/").slice(1); // removing the first empty string. pathSegments.pop(); let currentUrl = ""; const breadcrumbItems = pathSegments.map((segment) => { currentUrl += "/" + segment; return { title: HEADER_SEGMENT_LABELS[segment] ?? segment.toUpperCase(), href: currentUrl, }; }); return breadcrumbItems; }; const breadcrumbItems = generateBreadcrumbItems(pathName || ""); return (