From f3031a44f77e17452b6932f794f36dfe12e38737 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:22:46 +0530 Subject: [PATCH] [WEB-5429] refactor: conditional hooks (#8114) * fix: conditional hooks * chore: remove unwanted file --- .../issues/issue-layouts/calendar/base-calendar-root.tsx | 3 ++- .../issues/issue-layouts/empty-states/archived-issues.tsx | 4 +--- .../components/issues/issue-layouts/empty-states/cycle.tsx | 2 +- .../components/issues/issue-layouts/empty-states/module.tsx | 2 +- .../issues/issue-layouts/empty-states/project-issues.tsx | 2 +- .../store/work-item-filters/use-work-item-filter-instance.ts | 4 ++-- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx b/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx index 575d01241..d9d31d31e 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx @@ -52,7 +52,8 @@ export const BaseCalendarRoot = observer((props: IBaseCalendarRoot) => { const { workspaceSlug } = useParams(); // hooks - const storeType = isEpic ? EIssuesStoreType.EPIC : (useIssueStoreType() as CalendarStoreType); + const fallbackStoreType = useIssueStoreType() as CalendarStoreType; + const storeType = isEpic ? EIssuesStoreType.EPIC : fallbackStoreType; const { allowPermissions } = useUserPermissions(); const { issues, issuesFilter, issueMap } = useIssues(storeType); const { diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx index 0e97f9106..e8889a4a0 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx @@ -21,9 +21,7 @@ export const ProjectArchivedEmptyState: React.FC = observer(() => { // store hooks const { allowPermissions } = useUserPermissions(); // derived values - const archivedWorkItemFilter = projectId - ? useWorkItemFilterInstance(EIssuesStoreType.ARCHIVED, projectId) - : undefined; + const archivedWorkItemFilter = useWorkItemFilterInstance(EIssuesStoreType.ARCHIVED, projectId); const canPerformEmptyStateActions = allowPermissions( [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER], EUserPermissionsLevel.PROJECT diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx index 2ed456f50..4c322ca41 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx @@ -36,7 +36,7 @@ export const CycleEmptyState: React.FC = observer(() => { const { toggleCreateIssueModal } = useCommandPalette(); const { allowPermissions } = useUserPermissions(); // derived values - const cycleWorkItemFilter = cycleId ? useWorkItemFilterInstance(EIssuesStoreType.CYCLE, cycleId) : undefined; + const cycleWorkItemFilter = useWorkItemFilterInstance(EIssuesStoreType.CYCLE, cycleId); const cycleDetails = cycleId ? getCycleById(cycleId) : undefined; const isCompletedCycleSnapshotAvailable = !isEmpty(cycleDetails?.progress_snapshot ?? {}); const isCompletedAndEmpty = isCompletedCycleSnapshotAvailable || cycleDetails?.status?.toLowerCase() === "completed"; diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx index 6c30b79be..2a9d872db 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx @@ -34,7 +34,7 @@ export const ModuleEmptyState: React.FC = observer(() => { const { toggleCreateIssueModal } = useCommandPalette(); const { allowPermissions } = useUserPermissions(); // derived values - const moduleWorkItemFilter = moduleId ? useWorkItemFilterInstance(EIssuesStoreType.MODULE, moduleId) : undefined; + const moduleWorkItemFilter = useWorkItemFilterInstance(EIssuesStoreType.MODULE, moduleId); const canPerformEmptyStateActions = allowPermissions( [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER], EUserPermissionsLevel.PROJECT diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/project-issues.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/project-issues.tsx index a5a5e9ccb..56602cd9c 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/project-issues.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/project-issues.tsx @@ -22,7 +22,7 @@ export const ProjectEmptyState: React.FC = observer(() => { const { toggleCreateIssueModal } = useCommandPalette(); const { allowPermissions } = useUserPermissions(); // derived values - const projectWorkItemFilter = projectId ? useWorkItemFilterInstance(EIssuesStoreType.PROJECT, projectId) : undefined; + const projectWorkItemFilter = useWorkItemFilterInstance(EIssuesStoreType.PROJECT, projectId); const canPerformEmptyStateActions = allowPermissions( [EUserProjectRoles.ADMIN, EUserProjectRoles.MEMBER], diff --git a/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts b/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts index 0cc356f86..686b5c6e8 100644 --- a/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts +++ b/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts @@ -6,8 +6,8 @@ import { useWorkItemFilters } from "./use-work-item-filters"; export const useWorkItemFilterInstance = ( entityType: EIssuesStoreType, - entityId: string + entityId: string | undefined ): IWorkItemFilterInstance | undefined => { const { getFilter } = useWorkItemFilters(); - return getFilter(entityType, entityId); + return entityId ? getFilter(entityType, entityId) : undefined; };