From 830f0861c1050e49b0ced086c870eb8d42f57677 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com> Date: Fri, 31 May 2024 17:39:23 +0530 Subject: [PATCH] chore: created a new constant for archivable state groups (#4668) --- web/components/issues/issue-detail/sidebar.tsx | 5 ++--- .../issue-layouts/quick-action-dropdowns/all-issue.tsx | 5 ++--- .../issue-layouts/quick-action-dropdowns/cycle-issue.tsx | 5 ++--- .../issue-layouts/quick-action-dropdowns/module-issue.tsx | 5 ++--- .../issue-layouts/quick-action-dropdowns/project-issue.tsx | 5 ++--- web/components/issues/peek-overview/header.tsx | 5 ++--- web/constants/state.ts | 2 ++ 7 files changed, 14 insertions(+), 18 deletions(-) diff --git a/web/components/issues/issue-detail/sidebar.tsx b/web/components/issues/issue-detail/sidebar.tsx index 568dc4ced..e5526a4a8 100644 --- a/web/components/issues/issue-detail/sidebar.tsx +++ b/web/components/issues/issue-detail/sidebar.tsx @@ -48,7 +48,7 @@ import { } from "@/components/issues"; // helpers // types -import { STATE_GROUPS } from "@/constants/state"; +import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state"; import { cn } from "@/helpers/common.helper"; import { getDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper"; import { shouldHighlightIssueDueDate } from "@/helpers/issue.helper"; @@ -117,8 +117,7 @@ export const IssueDetailsSidebar: React.FC = observer((props) => { const stateDetails = getStateById(issue.state_id); // auth const isArchivingAllowed = !is_archived && issueOperations.archive && isEditable; - const isInArchivableGroup = - !!stateDetails && [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key].includes(stateDetails?.group); + const isInArchivableGroup = !!stateDetails && ARCHIVABLE_STATE_GROUPS.includes(stateDetails?.group); const minDate = issue.start_date ? getDate(issue.start_date) : null; minDate?.setDate(minDate.getDate()); diff --git a/web/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx b/web/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx index a61688749..b56a6f7eb 100644 --- a/web/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx +++ b/web/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx @@ -11,7 +11,7 @@ import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, set import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues"; // constants import { EIssuesStoreType } from "@/constants/issue"; -import { STATE_GROUPS } from "@/constants/state"; +import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state"; // helpers import { cn } from "@/helpers/common.helper"; import { copyUrlToClipboard } from "@/helpers/string.helper"; @@ -48,8 +48,7 @@ export const AllIssueQuickActions: React.FC = observer((props const isEditingAllowed = !readOnly; // auth const isArchivingAllowed = handleArchive && isEditingAllowed; - const isInArchivableGroup = - !!stateDetails && [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key].includes(stateDetails?.group); + const isInArchivableGroup = !!stateDetails && ARCHIVABLE_STATE_GROUPS.includes(stateDetails?.group); const issueLink = `${workspaceSlug}/projects/${issue.project_id}/issues/${issue.id}`; diff --git a/web/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx b/web/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx index 026d050ac..ddfbb4a02 100644 --- a/web/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx +++ b/web/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx @@ -12,7 +12,7 @@ import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/c // constants import { EIssuesStoreType } from "@/constants/issue"; import { EUserProjectRoles } from "@/constants/project"; -import { STATE_GROUPS } from "@/constants/state"; +import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state"; // helpers import { cn } from "@/helpers/common.helper"; import { copyUrlToClipboard } from "@/helpers/string.helper"; @@ -54,8 +54,7 @@ export const CycleIssueQuickActions: React.FC = observer((pro // auth const isEditingAllowed = !!currentProjectRole && currentProjectRole >= EUserProjectRoles.MEMBER && !readOnly; const isArchivingAllowed = handleArchive && isEditingAllowed; - const isInArchivableGroup = - !!stateDetails && [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key].includes(stateDetails?.group); + const isInArchivableGroup = !!stateDetails && ARCHIVABLE_STATE_GROUPS.includes(stateDetails?.group); const isDeletingAllowed = isEditingAllowed; const activeLayout = `${issuesFilter.issueFilters?.displayFilters?.layout} layout`; diff --git a/web/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx b/web/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx index 7f8622626..e8a950b25 100644 --- a/web/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx +++ b/web/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx @@ -12,7 +12,7 @@ import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/c // constants import { EIssuesStoreType } from "@/constants/issue"; import { EUserProjectRoles } from "@/constants/project"; -import { STATE_GROUPS } from "@/constants/state"; +import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state"; // helpers import { cn } from "@/helpers/common.helper"; import { copyUrlToClipboard } from "@/helpers/string.helper"; @@ -54,8 +54,7 @@ export const ModuleIssueQuickActions: React.FC = observer((pr // auth const isEditingAllowed = !!currentProjectRole && currentProjectRole >= EUserProjectRoles.MEMBER && !readOnly; const isArchivingAllowed = handleArchive && isEditingAllowed; - const isInArchivableGroup = - !!stateDetails && [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key].includes(stateDetails?.group); + const isInArchivableGroup = !!stateDetails && ARCHIVABLE_STATE_GROUPS.includes(stateDetails?.group); const isDeletingAllowed = isEditingAllowed; const activeLayout = `${issuesFilter.issueFilters?.displayFilters?.layout} layout`; diff --git a/web/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx b/web/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx index ac84af556..14879f1fc 100644 --- a/web/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx +++ b/web/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx @@ -12,7 +12,7 @@ import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/c // constants import { EIssuesStoreType } from "@/constants/issue"; import { EUserProjectRoles } from "@/constants/project"; -import { STATE_GROUPS } from "@/constants/state"; +import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state"; // helpers import { cn } from "@/helpers/common.helper"; import { copyUrlToClipboard } from "@/helpers/string.helper"; @@ -54,8 +54,7 @@ export const ProjectIssueQuickActions: React.FC = observer((p // auth const isEditingAllowed = !!currentProjectRole && currentProjectRole >= EUserProjectRoles.MEMBER && !readOnly; const isArchivingAllowed = handleArchive && isEditingAllowed; - const isInArchivableGroup = - !!stateDetails && [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key].includes(stateDetails?.group); + const isInArchivableGroup = !!stateDetails && ARCHIVABLE_STATE_GROUPS.includes(stateDetails?.group); const isDeletingAllowed = isEditingAllowed; const issueLink = `${workspaceSlug}/projects/${issue.project_id}/issues/${issue.id}`; diff --git a/web/components/issues/peek-overview/header.tsx b/web/components/issues/peek-overview/header.tsx index 9f146cdc0..053376491 100644 --- a/web/components/issues/peek-overview/header.tsx +++ b/web/components/issues/peek-overview/header.tsx @@ -15,7 +15,7 @@ import { } from "@plane/ui"; // components import { IssueSubscription, IssueUpdateStatus } from "@/components/issues"; -import { STATE_GROUPS } from "@/constants/state"; +import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state"; // helpers import { cn } from "@/helpers/common.helper"; import { copyUrlToClipboard } from "@/helpers/string.helper"; @@ -100,8 +100,7 @@ export const IssuePeekOverviewHeader: FC = observer((pr }; // auth const isArchivingAllowed = !isArchived && !disabled; - const isInArchivableGroup = - !!stateDetails && [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key].includes(stateDetails?.group); + const isInArchivableGroup = !!stateDetails && ARCHIVABLE_STATE_GROUPS.includes(stateDetails?.group); const isRestoringAllowed = isArchived && !disabled; return ( diff --git a/web/constants/state.ts b/web/constants/state.ts index 6f6f0b460..b0fd622be 100644 --- a/web/constants/state.ts +++ b/web/constants/state.ts @@ -33,3 +33,5 @@ export const STATE_GROUPS: { color: "#dc2626", }, }; + +export const ARCHIVABLE_STATE_GROUPS = [STATE_GROUPS.completed.key, STATE_GROUPS.cancelled.key];