Files
plane/web/core/hooks/use-issue-layout-store.ts
rahulramesha a623456e63 [WEB-1890] fix: issue creation by using appropriate stores (#5072)
* fix issue creation by using appropriate stores

* add comments

* change useIssuesStore hook to use useIssueStoreType
2024-07-08 18:52:10 +05:30

37 lines
1.0 KiB
TypeScript

import { createContext, useContext } from "react";
import { useParams } from "next/navigation";
import { EIssuesStoreType } from "@/constants/issue";
import { useIssues } from "./store";
export const IssuesStoreContext = createContext<EIssuesStoreType | undefined>(undefined);
export const useIssueStoreType = () => {
const storeType = useContext(IssuesStoreContext);
const { globalViewId, viewId, projectId, cycleId, moduleId, userId } = useParams();
// If store type exists in context, use that store type
if (storeType) return storeType;
// else check the router params to determine the issue store
if (globalViewId) return EIssuesStoreType.GLOBAL;
if (userId) return EIssuesStoreType.PROFILE;
if (viewId) return EIssuesStoreType.PROJECT_VIEW;
if (cycleId) return EIssuesStoreType.CYCLE;
if (moduleId) return EIssuesStoreType.MODULE;
if (projectId) return EIssuesStoreType.PROJECT;
return EIssuesStoreType.PROJECT;
};
export const useIssuesStore = () => {
const storeType = useIssueStoreType();
return useIssues(storeType);
};