From 0dec1e569761db6982e37309488081aad6f57d48 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Tue, 18 Mar 2025 10:36:26 +0800 Subject: [PATCH] feat(navbar): add breadcrumb navigation component --- src/components/navbar.tsx | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/components/navbar.tsx diff --git a/src/components/navbar.tsx b/src/components/navbar.tsx new file mode 100644 index 0000000..05314c9 --- /dev/null +++ b/src/components/navbar.tsx @@ -0,0 +1,62 @@ +"use client"; + +import React from "react"; +import { + Breadcrumb, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, +} from "@/components/ui/breadcrumb"; +import { Home } from "lucide-react"; +import { usePathname } from "next/navigation"; + +export const Navbar = () => { + const pathname = usePathname(); + const pathSegments = pathname.split("/").filter(Boolean); // Filter out empty strings + + return ( + + + {/* If pathname is "/", display the Home icon inside BreadcrumbPage */} + {pathSegments.length === 0 ? ( + + + + + ) : ( + <> + {/* Always show Home as the first BreadcrumbLink */} + + + + + + + {pathSegments.map((item, index) => ( + + + {index === pathSegments.length - 1 ? ( + {item} + ) : ( + + {item} + + )} + + {index !== pathSegments.length - 1 && } + + ))} + + )} + + + ); +};