import React from "react"; import { ModuleId, NavLeftHandSideItemParent } from "./types"; import ListItemInner from "./ListItemInner"; import { getActiveClasses } from "../utility/active-classes"; import Collapse from "@material-ui/core/Collapse"; import TriangleSvg from "./assets/triangle.svg"; export default function TopListItemInner({ parentItem, selectedItem, onClickItem, children, isDragging, isDraggingAny, isDraggingOverUnpinned }: { parentItem: NavLeftHandSideItemParent; selectedItem: ModuleId; onClickItem: (id: ModuleId) => void; children: React.ReactNode; isDragging: boolean; isDraggingAny: boolean; isDraggingOverUnpinned: boolean; }) { const isChildSelected = parentItem.subItems && parentItem.subItems.some(({ id }) => id === selectedItem); const isGroupSelected = selectedItem === parentItem.id || isChildSelected; const shouldShowSubItems = !!(isGroupSelected && parentItem.subItems); return (
{children} onClickItem(parentItem.id)} id={parentItem.id} title={parentItem.title} isDraggingAny={isDraggingAny} className={getActiveClasses({ "auik-bg-blue-900": !isGroupSelected && !isDragging, "auik-bg-blue-500 auik-shadow-md": isGroupSelected || isDragging, "auik-bg-red-500": isDraggingOverUnpinned })} /> {isGroupSelected && ( )}
{shouldShowSubItems && ( )}
); }