import { Collapse, List, ListItemButton, ListItemIcon, ListItemText, Typography } from "@mui/material"; import { useEffect, useState } from "react"; import colorConfigs from "../../configs/colorConfigs"; import ExpandLessOutlinedIcon from '@mui/icons-material/ExpandLessOutlined'; import ExpandMoreOutlinedIcon from '@mui/icons-material/ExpandMoreOutlined'; import SidebarItem from "./SidebarItem"; import { useSelector } from "react-redux"; const SidebarItemCollapse = ({ item }) => { const [open, setOpen] = useState(false); const { appState } = useSelector((state) => state.appState); useEffect(() => { if (appState.includes(item.state)) { setOpen(true); } }, [appState, item]); return ( item.sidebarProps ? ( <> setOpen(!open)} sx={{ "&: hover": { backgroundColor: colorConfigs.sidebar.hoverBg }, paddingY: "12px", paddingX: "24px" }} > {item.sidebarProps.icon && item.sidebarProps.icon} {item.sidebarProps.displayText} } /> {open ? : } {item.child?.map((route, index) => ( route.sidebarProps ? ( route.child ? ( ) : ( ) ) : null ))} ) : null ); }; export default SidebarItemCollapse;