diff --git a/web/core/components/issues/workspace-draft/draft-issue-block.tsx b/web/core/components/issues/workspace-draft/draft-issue-block.tsx index f9838645957..d1ae6e01cf0 100644 --- a/web/core/components/issues/workspace-draft/draft-issue-block.tsx +++ b/web/core/components/issues/workspace-draft/draft-issue-block.tsx @@ -177,7 +177,6 @@ export const DraftIssueBlock: FC = observer((props) => { updateIssue={async (projectId, issueId, data) => { await updateIssue(workspaceSlug, issueId, data); }} - activeLayout="List" />
) => Promise) | undefined; className: string; - activeLayout: string; } export const DraftIssueProperties: React.FC = observer((props) => { - const { issue, updateIssue, activeLayout, className } = props; + const { issue, updateIssue, className } = props; // store hooks const { getProjectById } = useProject(); const { labelMap } = useLabel(); - const { captureIssueEvent } = useEventTracker(); const { addCycleToIssue, addModulesToIssue } = useWorkspaceDraftIssues(); const { areEstimateEnabledByProjectId } = useProjectEstimates(); const { getStateById } = useProjectState(); @@ -59,19 +47,12 @@ export const DraftIssueProperties: React.FC = observer((props) // router const { workspaceSlug } = useParams(); - const pathname = usePathname(); - - const currentLayout = `${activeLayout} layout`; // derived values const stateDetails = getStateById(issue.state_id); const issueOperations = useMemo( () => ({ - addModulesToIssue: async (moduleIds: string[]) => { - if (!workspaceSlug || !issue.id) return; - await addModulesToIssue(workspaceSlug.toString(), issue.id, moduleIds); - }, - removeModulesFromIssue: async (moduleIds: string[]) => { + updateIssueModules: async (moduleIds: string[]) => { if (!workspaceSlug || !issue.id) return; await addModulesToIssue(workspaceSlug.toString(), issue.id, moduleIds); }, @@ -103,17 +84,9 @@ export const DraftIssueProperties: React.FC = observer((props) const handleModule = useCallback( (moduleIds: string[] | null) => { if (!issue || !issue.module_ids || !moduleIds) return; - - const updatedModuleIds = xor(issue.module_ids, moduleIds); - const modulesToAdd: string[] = []; - const modulesToRemove: string[] = []; - for (const moduleId of updatedModuleIds) - if (issue.module_ids.includes(moduleId)) modulesToRemove.push(moduleId); - else modulesToAdd.push(moduleId); - if (modulesToAdd.length > 0) issueOperations.addModulesToIssue(modulesToAdd); - if (modulesToRemove.length > 0) issueOperations.removeModulesFromIssue(modulesToRemove); + issueOperations.updateIssueModules(moduleIds); }, - [issueOperations, currentLayout, pathname, issue] + [issueOperations, issue] ); const handleCycle = useCallback( @@ -122,7 +95,7 @@ export const DraftIssueProperties: React.FC = observer((props) if (cycleId) issueOperations.addIssueToCycle?.(cycleId); else issueOperations.removeIssueFromCycle?.(); }, - [issue, issueOperations, currentLayout, pathname] + [issue, issueOperations] ); const handleStartDate = (date: Date | null) =>