import { FC } from "react"; import { observer } from "mobx-react-lite"; // hooks import { useCycle } from "hooks/store"; // components import { CyclesBoard, CyclesList, CyclesListGanttChartView } from "components/cycles"; // ui components import { Loader } from "@plane/ui"; // types import { TCycleLayout, TCycleView } from "@plane/types"; export interface ICyclesView { filter: TCycleView; layout: TCycleLayout; workspaceSlug: string; projectId: string; peekCycle: string | undefined; } export const CyclesView: FC = observer((props) => { const { filter, layout, workspaceSlug, projectId, peekCycle } = props; // store hooks const { currentProjectCompletedCycleIds, currentProjectDraftCycleIds, currentProjectUpcomingCycleIds, currentProjectCycleIds, } = useCycle(); const cyclesList = filter === "completed" ? currentProjectCompletedCycleIds : filter === "draft" ? currentProjectDraftCycleIds : filter === "upcoming" ? currentProjectUpcomingCycleIds : currentProjectCycleIds; return ( <> {layout === "list" && ( <> {cyclesList ? ( ) : ( )} )} {layout === "board" && ( <> {cyclesList ? ( ) : ( )} )} {layout === "gantt" && ( <> {cyclesList ? ( ) : ( )} )} ); });