Update: Sidebar standalone item

This commit is contained in:
Llewellyn Dsouza
2022-02-26 23:28:19 +05:30
parent 28ecd84bb8
commit 1596dc1a39
3 changed files with 15 additions and 13 deletions

View File

@@ -31,7 +31,7 @@ import { item, itemContent, itemArrow } from 'components/Sidenav/styles/sidenavI
// Material Dashboard 2 PRO React contexts
import { useMaterialUIController } from 'context';
function SidenavItem({ color, name, active, nested, children, open, ...rest }) {
function SidenavItem({ color, name, active, nested, children, open, icon, ...rest }) {
const [controller] = useMaterialUIController();
const { miniSidenav, transparentSidenav, whiteSidenav, darkMode } = controller;
@@ -56,6 +56,7 @@ function SidenavItem({ color, name, active, nested, children, open, ...rest }) {
})
}
>
{icon && <MDBox sx={{ marginLeft: '-1.8em', marginRight: '0.6em' }}>{icon}</MDBox>}
<ListItemText primary={name} />
{children && (
<Icon
@@ -94,7 +95,8 @@ SidenavItem.propTypes = {
active: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
nested: PropTypes.bool,
children: PropTypes.node,
open: PropTypes.bool
open: PropTypes.bool,
icon: PropTypes.any
};
export default SidenavItem;

View File

@@ -163,7 +163,7 @@ function Sidenav({ color, brandName, routes, ...rest }) {
// Render all the routes from the routes.js (All the visible items on the Sidenav)
const renderRoutes = routes.map(
({ type, name, icon, title, collapse, noCollapse, key, href, hide }) => {
({ type, name, icon, title, collapse, noCollapse, key, href, hide, route }) => {
let returnValue;
if (hide) return null;
@@ -223,6 +223,12 @@ function Sidenav({ color, brandName, routes, ...rest }) {
}
/>
);
} else if (type === 'single') {
returnValue = (
<NavLink to={route} key={key} sx={{ textDecoration: 'none' }}>
<SidenavItem color={color} name={name} active={key === itemName} icon={icon} />
</NavLink>
);
}
return returnValue;

View File

@@ -90,18 +90,12 @@ const protectedRoutes = [
// },
// { type: 'divider', key: 'divider-0' },
{
type: 'collapse',
name: 'Home',
key: 'Home',
key: 'home',
icon: <HomeIcon width={24} height={24} color="white" />,
collapse: [
{
name: 'Home',
key: 'home',
route: '/home',
component: <HomepageScreen />
}
]
route: '/home',
type: 'single',
component: <HomepageScreen />
},
{
type: 'collapse',