import PropTypes from 'prop-types';
import { useEffect, useState } from 'react';
import { Link, useLocation } from 'react-router-dom';
// material-ui
import MuiBreadcrumbs from '@mui/material/Breadcrumbs';
import { Grid, Typography } from '@mui/material';
// project imports
import MainCard from '../MainCard';
// ==============================|| BREADCRUMBS ||============================== //
const Breadcrumbs = ({ navigation, title, ...others }) => {
const location = useLocation();
const [main, setMain] = useState();
const [item, setItem] = useState();
// set active item state
const getCollapse = (menu) => {
if (menu.children) {
menu.children.filter((collapse) => {
if (collapse.type && collapse.type === 'collapse') {
getCollapse(collapse);
} else if (collapse.type && collapse.type === 'item') {
if (location.pathname === collapse.url) {
setMain(menu);
setItem(collapse);
}
}
return false;
});
}
};
useEffect(() => {
navigation?.items?.map((menu) => {
if (menu.type && menu.type === 'group') {
getCollapse(menu);
}
return false;
});
});
// only used for component demo breadcrumbs
if (location.pathname === '/breadcrumbs') {
location.pathname = '/dashboard/analytics';
}
let mainContent;
let itemContent;
let breadcrumbContent = ;
let itemTitle = '';
// collapse item
if (main && main.type === 'collapse') {
mainContent = (
{main.title}
);
}
// items
if (item && item.type === 'item') {
itemTitle = item.title;
itemContent = (
{itemTitle}
);
// main
if (item.breadcrumbs !== false) {
breadcrumbContent = (
Home
{mainContent}
{itemContent}
{title && (
{item.title}
)}
);
}
}
return breadcrumbContent;
};
Breadcrumbs.propTypes = {
navigation: PropTypes.object,
title: PropTypes.bool
};
export default Breadcrumbs;