import { CalendarLayoutLoader, GanttLayoutLoader, KanbanLayoutLoader, ListLayoutLoader, SpreadsheetLayoutLoader, } from "components/ui"; import { EIssueLayoutTypes, EIssuesStoreType } from "constants/issue"; import { useIssues } from "hooks/store"; import { observer } from "mobx-react"; import { IssueLayoutEmptyState } from "./empty-states"; const ActiveLoader = (props: { layout: EIssueLayoutTypes }) => { const { layout } = props; switch (layout) { case EIssueLayoutTypes.LIST: return ; case EIssueLayoutTypes.KANBAN: return ; case EIssueLayoutTypes.SPREADSHEET: return ; case EIssueLayoutTypes.CALENDAR: return ; case EIssueLayoutTypes.GANTT: return ; default: return null; } }; interface Props { children: string | JSX.Element | JSX.Element[]; storeType: EIssuesStoreType; layout: EIssueLayoutTypes; } export const IssueLayoutHOC = observer((props: Props) => { const { storeType, layout } = props; const { issues } = useIssues(storeType); if (issues?.loader === "init-loader" || !issues?.groupedIssueIds) { return ; } if (issues.issueCount === 0) { return ; } return <>{props.children}; });