Files
tanami-admin-panel/src/Components/NavBreadCrumbs.jsx

41 lines
1.3 KiB
React
Raw Normal View History

2024-07-15 12:27:23 +05:30
import React from "react";
import { Link } from "react-router-dom"; // Adjust this based on your routing setup
import CustomBreadcrumb from "./CutomBreadcrumb";
2024-07-19 20:19:03 +05:30
import { MinusIcon } from "@chakra-ui/icons";
2024-07-15 12:27:23 +05:30
const NavBreadcrumbs = ({ nav }) => {
// Function to recursively flatten submenu items and add parent titles
const flattenNav = (items, parentTitle = "") => {
let breadcrumbs = [];
items.forEach((item) => {
if (item.submenu) {
// Add parent title if present
breadcrumbs.push({
2024-07-19 20:19:03 +05:30
label: parentTitle ? `${parentTitle} ${<MinusIcon/>} ${item.title}` : item.title,
2024-07-15 12:27:23 +05:30
link: null, // Adjust link as per your routing setup
});
// Recursively flatten submenu items
breadcrumbs = [
...breadcrumbs,
2024-07-19 20:19:03 +05:30
...flattenNav(item.submenu, `${parentTitle} ${<MinusIcon/>} ${item.title}`),
2024-07-15 12:27:23 +05:30
];
} else {
// If no submenu, add current item as breadcrumb
breadcrumbs.push({
2024-07-19 20:19:03 +05:30
label: parentTitle ? `${parentTitle} ${<MinusIcon/>} ${item.title}` : item.title,
2024-07-15 12:27:23 +05:30
link: item.path, // Adjust link as per your routing setup
});
}
});
return breadcrumbs;
};
// Flatten nav array into breadcrumbs
const flattenedNav = flattenNav(nav);
return <CustomBreadcrumb items={flattenedNav} />;
};
export default NavBreadcrumbs;