From 4bf584847074beb261bdc24f9314a04fe81b2f24 Mon Sep 17 00:00:00 2001 From: Sidney Alcantara Date: Wed, 1 Jun 2022 13:43:50 +1000 Subject: [PATCH] update nav drawer design to improve hierarchy --- src/layouts/Navigation/NavDrawer.tsx | 5 +++-- src/layouts/Navigation/NavItem.tsx | 16 ++++++++++++---- src/layouts/Navigation/NavTableSection.tsx | 22 ++++++++++++++++------ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/layouts/Navigation/NavDrawer.tsx b/src/layouts/Navigation/NavDrawer.tsx index c88006df..239ecc2b 100644 --- a/src/layouts/Navigation/NavDrawer.tsx +++ b/src/layouts/Navigation/NavDrawer.tsx @@ -9,6 +9,7 @@ import { List, ListItemIcon, ListItemText, + // ListSubheader, Divider, } from "@mui/material"; import CloseIcon from "@mui/icons-material/MenuOpen"; @@ -224,6 +225,8 @@ export default function NavDrawer({ + {/* Your tables */} +
  • - - {sections && Object.entries(sections) .filter(([, tables]) => tables.length > 0) diff --git a/src/layouts/Navigation/NavItem.tsx b/src/layouts/Navigation/NavItem.tsx index 8c8948b7..c33bf6f3 100644 --- a/src/layouts/Navigation/NavItem.tsx +++ b/src/layouts/Navigation/NavItem.tsx @@ -10,11 +10,19 @@ export default function NavItem(props: MenuItemProps) { selected={pathname === props.to} {...props} sx={{ - ...props.sx, - "&&::before": { - left: "auto", - right: 0, + "& .MuiListItemText-primary": { + typography: "button", + color: "text.secondary", }, + "& .MuiListItemIcon-root": { opacity: 0.87 }, + + "&:hover, &.Mui-selected": { + "& .MuiListItemText-primary": { color: "text.primary" }, + "& .MuiSvgIcon-root": { color: "text.primary" }, + }, + + ...props.sx, + "&&::before": { left: "auto", right: 0 }, }} /> ); diff --git a/src/layouts/Navigation/NavTableSection.tsx b/src/layouts/Navigation/NavTableSection.tsx index df9d9186..1fb81e16 100644 --- a/src/layouts/Navigation/NavTableSection.tsx +++ b/src/layouts/Navigation/NavTableSection.tsx @@ -1,7 +1,8 @@ import { useState } from "react"; import { useLocation } from "react-router-dom"; -import { List, ListItemText, Collapse } from "@mui/material"; +import { List, ListItemIcon, ListItemText, Collapse } from "@mui/material"; +import FolderIcon from "@mui/icons-material/FolderOutlined"; import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown"; import NavItem from "./NavItem"; @@ -34,6 +35,10 @@ export default function NavTableSection({ selected={hasMatch && !open} onClick={() => setOpen((o) => !o)} > + + + + `calc(100% - ${theme.spacing(2 + 0.5)})`, - }} > - + + );