mirror of
https://github.com/luxfhe/research-ocp-fhe.git
synced 2026-11-03 06:05:38 +00:00
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
'use client';
|
|
|
|
import { usePathname } from 'next/navigation';
|
|
import {
|
|
Breadcrumb,
|
|
BreadcrumbList,
|
|
BreadcrumbItem,
|
|
BreadcrumbLink,
|
|
BreadcrumbPage,
|
|
BreadcrumbSeparator,
|
|
} from '@/components/ui/breadcrumb';
|
|
|
|
const routeLabels: Record<string, string> = {
|
|
'': 'Home',
|
|
rounds: 'Rounds',
|
|
company: 'Companies',
|
|
'mocked-cap': 'Mocked Cap Table Page',
|
|
settings: 'Settings',
|
|
};
|
|
|
|
export function BreadcrumbNav() {
|
|
const pathname = usePathname();
|
|
|
|
// Split pathname into segments and filter out empty strings
|
|
const segments = pathname.split('/').filter(Boolean);
|
|
|
|
// If we're on the home page, show just "Home"
|
|
if (segments.length === 0) {
|
|
return (
|
|
<Breadcrumb>
|
|
<BreadcrumbList>
|
|
<BreadcrumbItem>
|
|
<BreadcrumbPage>Home</BreadcrumbPage>
|
|
</BreadcrumbItem>
|
|
</BreadcrumbList>
|
|
</Breadcrumb>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<Breadcrumb>
|
|
<BreadcrumbList>
|
|
{/* Always show Home as the first breadcrumb */}
|
|
<BreadcrumbItem>
|
|
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
</BreadcrumbItem>
|
|
|
|
{segments.map((segment, index) => {
|
|
const isLast = index === segments.length - 1;
|
|
const href = '/' + segments.slice(0, index + 1).join('/');
|
|
const label = routeLabels[segment] || segment;
|
|
|
|
return (
|
|
<div key={segment + index} className="flex items-center">
|
|
<BreadcrumbSeparator />
|
|
<BreadcrumbItem>
|
|
{isLast ? (
|
|
<BreadcrumbPage>{label}</BreadcrumbPage>
|
|
) : (
|
|
<BreadcrumbLink href={href}>{label}</BreadcrumbLink>
|
|
)}
|
|
</BreadcrumbItem>
|
|
</div>
|
|
);
|
|
})}
|
|
</BreadcrumbList>
|
|
</Breadcrumb>
|
|
);
|
|
}
|