From 7089474c11c5300c05ef72ed2f697d7b358afb7c Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Thu, 23 May 2024 14:28:11 +0530 Subject: [PATCH] [WEB-1240] chore: toast messages updates (#4561) * [WEB-1240] fix: toast messages inconsistency in sub-issues. * [WEB-1241] chore: update draft issue creation toast message. * chore: minor logic improvement. --- web/components/issues/delete-issue-modal.tsx | 8 +++++++- web/components/issues/issue-modal/modal.tsx | 4 ++-- web/components/issues/sub-issues/root.tsx | 18 ++++++++---------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/web/components/issues/delete-issue-modal.tsx b/web/components/issues/delete-issue-modal.tsx index dc7b64075..49c1a8700 100644 --- a/web/components/issues/delete-issue-modal.tsx +++ b/web/components/issues/delete-issue-modal.tsx @@ -13,11 +13,12 @@ type Props = { handleClose: () => void; dataId?: string | null | undefined; data?: TIssue; + isSubIssue?: boolean; onSubmit?: () => Promise; }; export const DeleteIssueModal: React.FC = (props) => { - const { dataId, data, isOpen, handleClose, onSubmit } = props; + const { dataId, data, isOpen, handleClose, isSubIssue = false, onSubmit } = props; // states const [isDeleting, setIsDeleting] = useState(false); // store hooks @@ -44,6 +45,11 @@ export const DeleteIssueModal: React.FC = (props) => { if (onSubmit) await onSubmit() .then(() => { + setToast({ + type: TOAST_TYPE.SUCCESS, + title: "Success!", + message: `${isSubIssue ? "Sub-issue" : "Issue"} deleted successfully`, + }); onClose(); }) .catch(() => { diff --git a/web/components/issues/issue-modal/modal.tsx b/web/components/issues/issue-modal/modal.tsx index 04970028b..38b328df6 100644 --- a/web/components/issues/issue-modal/modal.tsx +++ b/web/components/issues/issue-modal/modal.tsx @@ -162,7 +162,7 @@ export const CreateUpdateIssueModal: React.FC = observer((prop setToast({ type: TOAST_TYPE.SUCCESS, title: "Success!", - message: "Issue created successfully.", + message: `${is_draft_issue ? "Draft issue" : "Issue"} created successfully.`, }); captureIssueEvent({ eventName: ISSUE_CREATED, @@ -178,7 +178,7 @@ export const CreateUpdateIssueModal: React.FC = observer((prop setToast({ type: TOAST_TYPE.ERROR, title: "Error!", - message: "Issue could not be created. Please try again.", + message: `${is_draft_issue ? "Draft issue" : "Issue"} could not be created. Please try again.`, }); captureIssueEvent({ eventName: ISSUE_CREATED, diff --git a/web/components/issues/sub-issues/root.tsx b/web/components/issues/sub-issues/root.tsx index a88434e3b..b697ff20a 100644 --- a/web/components/issues/sub-issues/root.tsx +++ b/web/components/issues/sub-issues/root.tsx @@ -1,20 +1,22 @@ import { FC, useCallback, useEffect, useMemo, useState } from "react"; import { observer } from "mobx-react"; import { useRouter } from "next/router"; +// icons import { Plus, ChevronRight, Loader, Pencil } from "lucide-react"; +// types import { IUser, TIssue } from "@plane/types"; -// hooks +// ui import { CircularProgressIndicator, CustomMenu, LayersIcon, TOAST_TYPE, setToast } from "@plane/ui"; +// components import { ExistingIssuesListModal } from "@/components/core"; import { CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues"; +// helpers import { cn } from "@/helpers/common.helper"; import { copyTextToClipboard } from "@/helpers/string.helper"; +// hooks import { useEventTracker, useIssueDetail } from "@/hooks/store"; -// components +// local components import { IssueList } from "./issues-list"; -// ui -// helpers -// types export interface ISubIssuesRoot { workspaceSlug: string; @@ -248,11 +250,6 @@ export const SubIssuesRoot: FC = observer((props) => { try { setSubIssueHelpers(parentIssueId, "issue_loader", issueId); await deleteSubIssue(workspaceSlug, projectId, parentIssueId, issueId); - setToast({ - type: TOAST_TYPE.SUCCESS, - title: "Error!", - message: "Issue deleted successfully", - }); captureIssueEvent({ eventName: "Sub-issue deleted", payload: { id: issueId, state: "SUCCESS", element: "Issue detail page" }, @@ -535,6 +532,7 @@ export const SubIssuesRoot: FC = observer((props) => { issueCrudState?.delete?.issue?.id as string ) } + isSubIssue /> )}