import { useRouter } from "next/router"; import { observer } from "mobx-react-lite"; // hooks import { useMobxStore } from "lib/mobx/store-provider"; import useProjectDetails from "hooks/use-project-details"; // components import { GanttChartRoot, renderIssueBlocksStructure } from "components/gantt-chart"; import { IssueGanttBlock, IssueGanttSidebarBlock, IssuePeekOverview } from "components/issues"; // types import { IIssueUnGroupedStructure } from "store/issue"; export const CycleGanttLayout: React.FC = observer(() => { const router = useRouter(); const { workspaceSlug, projectId } = router.query; const { projectDetails } = useProjectDetails(); const { cycleIssue: cycleIssueStore, issueFilter: issueFilterStore } = useMobxStore(); const appliedDisplayFilters = issueFilterStore.userDisplayFilters; const issues = cycleIssueStore.getIssues; const isAllowed = projectDetails?.member_role === 20 || projectDetails?.member_role === 15; return ( <>
{ // TODO: update mutation logic // updateGanttIssue(block, payload, mutateGanttIssues, user, workspaceSlug?.toString()) }} BlockRender={IssueGanttBlock} SidebarBlockRender={IssueGanttSidebarBlock} enableBlockLeftResize={isAllowed} enableBlockRightResize={isAllowed} enableBlockMove={isAllowed} enableReorder={appliedDisplayFilters.order_by === "sort_order" && isAllowed} />
); });