From 4f51ee040b01e9ac24196f62868f91bcc1d4dcd0 Mon Sep 17 00:00:00 2001 From: anmolsinghbhatia Date: Thu, 31 Aug 2023 18:35:17 +0530 Subject: [PATCH 01/13] fix: profile issue delete mutation fix --- apps/app/components/issues/delete-issue-modal.tsx | 10 +++++++++- apps/app/components/profile/profile-issues-view.tsx | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/app/components/issues/delete-issue-modal.tsx b/apps/app/components/issues/delete-issue-modal.tsx index f46dae9aa7e..7ec4b792aa0 100644 --- a/apps/app/components/issues/delete-issue-modal.tsx +++ b/apps/app/components/issues/delete-issue-modal.tsx @@ -34,9 +34,16 @@ type Props = { handleClose: () => void; data: IIssue | null; user: ICurrentUserResponse | undefined; + onSubmit?: () => Promise; }; -export const DeleteIssueModal: React.FC = ({ isOpen, handleClose, data, user }) => { +export const DeleteIssueModal: React.FC = ({ + isOpen, + handleClose, + data, + user, + onSubmit, +}) => { const [isDeleteLoading, setIsDeleteLoading] = useState(false); const router = useRouter(); @@ -129,6 +136,7 @@ export const DeleteIssueModal: React.FC = ({ isOpen, handleClose, data, u console.log(error); setIsDeleteLoading(false); }); + if (onSubmit) await onSubmit(); }; const handleArchivedIssueDeletion = async () => { diff --git a/apps/app/components/profile/profile-issues-view.tsx b/apps/app/components/profile/profile-issues-view.tsx index 0449546fc4c..fa5df1227f5 100644 --- a/apps/app/components/profile/profile-issues-view.tsx +++ b/apps/app/components/profile/profile-issues-view.tsx @@ -248,6 +248,9 @@ export const ProfileIssuesView = () => { isOpen={deleteIssueModal} data={issueToDelete} user={user} + onSubmit={async () => { + mutateProfileIssues(); + }} /> {areFiltersApplied && ( <> From f8c09083288a75170de3ad660b6f49484d23e874 Mon Sep 17 00:00:00 2001 From: anmolsinghbhatia Date: Thu, 31 Aug 2023 18:37:33 +0530 Subject: [PATCH 02/13] chore: add issue button disable for subscribed issue page --- .../core/views/board-view/board-header.tsx | 4 +- .../core/views/board-view/single-board.tsx | 71 ++++++++++--------- .../core/views/list-view/single-list.tsx | 17 +++-- 3 files changed, 50 insertions(+), 42 deletions(-) diff --git a/apps/app/components/core/views/board-view/board-header.tsx b/apps/app/components/core/views/board-view/board-header.tsx index d5b11f5f01d..5392774d946 100644 --- a/apps/app/components/core/views/board-view/board-header.tsx +++ b/apps/app/components/core/views/board-view/board-header.tsx @@ -29,6 +29,7 @@ type Props = { isCollapsed: boolean; setIsCollapsed: React.Dispatch>; disableUserActions: boolean; + disableAddIssue: boolean; viewProps: IIssueViewProps; }; @@ -39,6 +40,7 @@ export const BoardHeader: React.FC = ({ isCollapsed, setIsCollapsed, disableUserActions, + disableAddIssue, viewProps, }) => { const router = useRouter(); @@ -181,7 +183,7 @@ export const BoardHeader: React.FC = ({ )} - {!disableUserActions && selectedGroup !== "created_by" && ( + {!disableAddIssue && !disableUserActions && selectedGroup !== "created_by" && ( - ) : ( - !disableUserActions && ( - - - Add Issue - - } - position="left" - noBorder - > - - Create new - - {openIssuesListModal && ( - - Add an existing issue + {type === "issue" + ? !isSubscribedIssues && ( + + ) + : !disableUserActions && ( + + + Add Issue + + } + position="left" + noBorder + > + + Create new - )} - - ) - )} + {openIssuesListModal && ( + + Add an existing issue + + )} + + )} )} diff --git a/apps/app/components/core/views/list-view/single-list.tsx b/apps/app/components/core/views/list-view/single-list.tsx index 03ef7772714..a1b80c067a3 100644 --- a/apps/app/components/core/views/list-view/single-list.tsx +++ b/apps/app/components/core/views/list-view/single-list.tsx @@ -60,6 +60,7 @@ export const SingleList: React.FC = ({ const { workspaceSlug, projectId, cycleId, moduleId } = router.query; const isArchivedIssues = router.pathname.includes("archived-issues"); + const isSubscribedIssues = router.pathname.includes("subscribed"); const type = cycleId ? "cycle" : moduleId ? "module" : "issue"; @@ -180,13 +181,15 @@ export const SingleList: React.FC = ({ {isArchivedIssues ? ( "" ) : type === "issue" ? ( - + !isSubscribedIssues && ( + + ) ) : disableUserActions ? ( "" ) : ( From 96fd6cf2b9098f456c6056e4a1ddaf028264bb65 Mon Sep 17 00:00:00 2001 From: anmolsinghbhatia Date: Thu, 31 Aug 2023 18:39:14 +0530 Subject: [PATCH 03/13] chore: pre filled assignee added for assigned issue page create issue modal --- apps/app/components/issues/modal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/app/components/issues/modal.tsx b/apps/app/components/issues/modal.tsx index 8f13a8047dd..4c4f2ba446c 100644 --- a/apps/app/components/issues/modal.tsx +++ b/apps/app/components/issues/modal.tsx @@ -93,7 +93,7 @@ export const CreateUpdateIssueModal: React.FC = ({ if (cycleId) prePopulateData = { ...prePopulateData, cycle: cycleId as string }; if (moduleId) prePopulateData = { ...prePopulateData, module: moduleId as string }; - if (router.asPath.includes("my-issues")) + if (router.asPath.includes("my-issues") || router.asPath.includes("assigned")) prePopulateData = { ...prePopulateData, assignees: [...(prePopulateData?.assignees ?? []), user?.id ?? ""], From 624b0cc3a908f06c25ae7adb8e5407365d6f22a3 Mon Sep 17 00:00:00 2001 From: anmolsinghbhatia Date: Thu, 31 Aug 2023 18:40:33 +0530 Subject: [PATCH 04/13] fix: profile sidebar stats mutation fix --- .../core/views/list-view/single-issue.tsx | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/apps/app/components/core/views/list-view/single-issue.tsx b/apps/app/components/core/views/list-view/single-issue.tsx index eafe74612e1..927e74c0038 100644 --- a/apps/app/components/core/views/list-view/single-issue.tsx +++ b/apps/app/components/core/views/list-view/single-issue.tsx @@ -36,9 +36,21 @@ import { LayerDiagonalIcon } from "components/icons"; import { copyTextToClipboard } from "helpers/string.helper"; import { handleIssuesMutation } from "constants/issue"; // types -import { ICurrentUserResponse, IIssue, IIssueViewProps, ISubIssueResponse, UserAuth } from "types"; +import { + ICurrentUserResponse, + IIssue, + IIssueViewProps, + ISubIssueResponse, + IUserProfileProjectSegregation, + UserAuth, +} from "types"; // fetch-keys -import { CYCLE_DETAILS, MODULE_DETAILS, SUB_ISSUES } from "constants/fetch-keys"; +import { + CYCLE_DETAILS, + MODULE_DETAILS, + SUB_ISSUES, + USER_PROFILE_PROJECT_SEGREGATION, +} from "constants/fetch-keys"; type Props = { type?: string; @@ -74,7 +86,7 @@ export const SingleListIssue: React.FC = ({ const [contextMenuPosition, setContextMenuPosition] = useState(null); const router = useRouter(); - const { workspaceSlug, projectId, cycleId, moduleId } = router.query; + const { workspaceSlug, projectId, cycleId, moduleId, userId } = router.query; const isArchivedIssues = router.pathname.includes("archived-issues"); const { setToastAlert } = useToast(); @@ -126,6 +138,11 @@ export const SingleListIssue: React.FC = ({ .then(() => { mutateIssues(); + if (userId) + mutate( + USER_PROFILE_PROJECT_SEGREGATION(workspaceSlug.toString(), userId.toString()) + ); + if (cycleId) mutate(CYCLE_DETAILS(cycleId as string)); if (moduleId) mutate(MODULE_DETAILS(moduleId as string)); }); @@ -134,6 +151,7 @@ export const SingleListIssue: React.FC = ({ workspaceSlug, cycleId, moduleId, + userId, groupTitle, index, selectedGroup, From 7b7d20222b0dc843cd589efa08b83d86c9f1a26b Mon Sep 17 00:00:00 2001 From: anmolsinghbhatia Date: Thu, 31 Aug 2023 22:33:47 +0530 Subject: [PATCH 05/13] chore: replace view with display in issue view filter --- apps/app/components/core/filters/issues-view-filter.tsx | 2 +- apps/app/components/issues/my-issues/my-issues-view-options.tsx | 2 +- apps/app/components/profile/profile-issues-view-options.tsx | 2 +- .../[workspaceSlug]/projects/[projectId]/pages/[pageId].tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/app/components/core/filters/issues-view-filter.tsx b/apps/app/components/core/filters/issues-view-filter.tsx index 3238a8d17f8..1266bd5a355 100644 --- a/apps/app/components/core/filters/issues-view-filter.tsx +++ b/apps/app/components/core/filters/issues-view-filter.tsx @@ -158,7 +158,7 @@ export const IssuesFilterView: React.FC = () => { : "text-custom-sidebar-text-200" }`} > - View + Display