import React from 'react'; import { Link, useLocation } from 'react-router-dom'; import { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, } from '@/components/ui/breadcrumb'; import { Package } from 'lucide-react'; interface BreadcrumbItem { label: string; href?: string; } interface AssetBreadcrumbProps { items?: BreadcrumbItem[]; } const AssetBreadcrumb: React.FC = ({ items = [] }) => { const location = useLocation(); // Generate breadcrumb items based on current path if not provided const generateBreadcrumbItems = (): BreadcrumbItem[] => { const pathSegments = location.pathname.split('/').filter(Boolean); const breadcrumbItems: BreadcrumbItem[] = []; // Always start with Asset Management breadcrumbItems.push({ label: 'Asset Management', href: '/assets' }); // Handle specific routes if (pathSegments.includes('assets')) { if (pathSegments.length === 1) { // /assets - just show Asset Management as current page breadcrumbItems[0].href = undefined; // Make it current page } else if (pathSegments.length === 2 && pathSegments[1]) { // /assets/:id - show Assets > Asset Details breadcrumbItems.push({ label: 'Asset Details' }); } } else if (pathSegments.includes('system-details')) { breadcrumbItems.push({ label: 'System Details' }); } else if (pathSegments.includes('asset-assignments')) { breadcrumbItems.push({ label: 'Asset Assignments' }); } return breadcrumbItems; }; const breadcrumbItems = items.length > 0 ? items : generateBreadcrumbItems(); return ( Dashboard {breadcrumbItems.reduce((acc, item, index) => { const isLast = index === breadcrumbItems.length - 1; acc.push( {item.href ? ( {item.label} ) : ( {item.label} )} ); if (!isLast) { acc.push(); } return acc; }, [])} ); }; export default AssetBreadcrumb;