import { FC, useState } from 'react'; import { IconSmallTriangleDown } from '@douyinfe/semi-icons'; import { DataStructureViewer } from '../viewer'; import './index.css'; import { Tag } from '@douyinfe/semi-ui'; interface NodeStatusGroupProps { title: string; data: unknown; optional?: boolean; disableCollapse?: boolean; } const isObjectHasContent = (obj: any = {}): boolean => Object.keys(obj).length > 0; export const NodeStatusGroup: FC = ({ title, data, optional = false, disableCollapse = false, }) => { const hasContent = isObjectHasContent(data); const [isExpanded, setIsExpanded] = useState(true); if (optional && !hasContent) { return null; } return ( <>
hasContent && setIsExpanded(!isExpanded)}> {!disableCollapse && ( )} {title}: {!hasContent && ( null )}
{hasContent && isExpanded ? : null} ); };