diff --git a/web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx b/web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx deleted file mode 100644 index feccca5f61..0000000000 --- a/web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useCallback } from "react"; -import { observer } from "mobx-react"; -import { useParams } from "next/navigation"; -import { WorkspaceDraftIssueQuickActions } from "@/components/issues/issue-layouts/quick-action-dropdowns"; -import { IssuePeekOverview } from "@/components/issues/peek-overview"; -import { EIssuesStoreType } from "@/constants/issue"; -import { useUserPermissions } from "@/hooks/store"; -import { IssuesStoreContext } from "@/hooks/use-issue-layout-store"; -import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; -import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions"; -import { BaseListRoot } from "../../../list/base-list-root"; - -export const WorkspaceDraftIssueLayoutRoot = observer(() => { - // router - const { workspaceSlug } = useParams(); - - //swr hook for fetching issue properties - useWorkspaceIssueProperties(workspaceSlug); - // store - const { allowPermissions } = useUserPermissions(); - - const canEditProperties = useCallback( - (projectId: string | undefined) => { - if (!projectId) return false; - return allowPermissions( - [EUserPermissions.ADMIN, EUserPermissions.MEMBER], - EUserPermissionsLevel.PROJECT, - workspaceSlug.toString(), - projectId - ); - }, - [workspaceSlug, allowPermissions] - ); - - return ( - -
-
- - -
-
-
- ); -}); diff --git a/web/core/components/issues/workspace-draft/root.tsx b/web/core/components/issues/workspace-draft/root.tsx index bfb70fc45d..f0f392f3f7 100644 --- a/web/core/components/issues/workspace-draft/root.tsx +++ b/web/core/components/issues/workspace-draft/root.tsx @@ -12,6 +12,7 @@ import { EDraftIssuePaginationType } from "@/constants/workspace-drafts"; import { cn } from "@/helpers/common.helper"; // hooks import { useCommandPalette, useProject, useWorkspaceDraftIssues } from "@/hooks/store"; +import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; // components import { DraftIssueBlock } from "./draft-issue-block"; import { WorkspaceDraftEmptyState } from "./empty-state"; @@ -28,6 +29,9 @@ export const WorkspaceDraftIssuesRoot: FC = observer( const { workspaceProjectIds } = useProject(); const { toggleCreateProjectModal } = useCommandPalette(); + //swr hook for fetching issue properties + useWorkspaceIssueProperties(workspaceSlug); + // fetching issues useSWR( workspaceSlug && issueIds.length <= 0 ? `WORKSPACE_DRAFT_ISSUES_${workspaceSlug}` : null, @@ -40,10 +44,6 @@ export const WorkspaceDraftIssuesRoot: FC = observer( await fetchIssues(workspaceSlug, "pagination", EDraftIssuePaginationType.NEXT); }; - if (loader === "init-loader" && issueIds.length <= 0) { - return ; - } - if (workspaceProjectIds?.length === 0) return ( = observer( /> ); - if (loader === "empty-state" && issueIds.length <= 0) return ; + if (issueIds.length <= 0) return ; + + if (loader === "init-loader") { + return ; + } return (
diff --git a/web/core/store/issue/workspace-draft/issue.store.ts b/web/core/store/issue/workspace-draft/issue.store.ts index fcb166525a..188ff70f94 100644 --- a/web/core/store/issue/workspace-draft/issue.store.ts +++ b/web/core/store/issue/workspace-draft/issue.store.ts @@ -299,8 +299,10 @@ export class WorkspaceDraftIssues implements IWorkspaceDraftIssues { const response = await workspaceDraftService.deleteIssue(workspaceSlug, issueId); runInAction(() => { - unset(this.issueMapIds[workspaceSlug], issueId); - unset(this.issuesMap, issueId); + // Remove the issue from the issueMapIds + this.issueMapIds[workspaceSlug] = (this.issueMapIds[workspaceSlug] || []).filter((id) => id !== issueId); + // Remove the issue from the issuesMap + delete this.issuesMap[issueId]; // reduce the count of issues in the pagination info if (this.paginationInfo?.total_count) { set(this, "paginationInfo", { @@ -324,8 +326,10 @@ export class WorkspaceDraftIssues implements IWorkspaceDraftIssues { const response = await workspaceDraftService.moveIssue(workspaceSlug, issueId, payload); runInAction(() => { - unset(this.issueMapIds[workspaceSlug], issueId); - unset(this.issuesMap, issueId); + // Remove the issue from the issueMapIds + this.issueMapIds[workspaceSlug] = (this.issueMapIds[workspaceSlug] || []).filter((id) => id !== issueId); + // Remove the issue from the issuesMap + delete this.issuesMap[issueId]; // reduce the count of issues in the pagination info if (this.paginationInfo?.total_count) { set(this, "paginationInfo", {