From bf5aca8e7895cfaea5bede21077d641f30f6e7c8 Mon Sep 17 00:00:00 2001 From: sharma01ketan Date: Tue, 8 Oct 2024 15:12:53 +0530 Subject: [PATCH] added setPromiseToast to issue addition --- .../calendar/quick-add-issue-actions.tsx | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx b/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx index a7a0a5c0ac..7b33215e44 100644 --- a/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx +++ b/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx @@ -8,7 +8,7 @@ import { PlusIcon } from "lucide-react"; // types import { ISearchIssueResponse, TIssue } from "@plane/types"; // ui -import { TOAST_TYPE, setToast, CustomMenu } from "@plane/ui"; +import { TOAST_TYPE, setToast, CustomMenu, setPromiseToast } from "@plane/ui"; // components import { ExistingIssuesListModal } from "@/components/core"; import { QuickAddIssueRoot } from "@/components/issues"; @@ -45,21 +45,26 @@ export const CalendarQuickAddIssueActions: FC = o if (!workspaceSlug || !projectId) return; const issueIds = data.map((i) => i.id); + const updatePromise = Promise.all( + data.map((issue) => updateIssue(workspaceSlug.toString(), projectId.toString(), issue.id, prePopulatedData ?? {})) + ).then(() => addIssuesToView?.(issueIds)) + console.log(issueIds.length) + setPromiseToast(updatePromise, { + loading: `Adding ${issueIds.length>1 ? "issues" : "issue" } to cycle...`, + success: { + title: "Success!", + message: () => `${issueIds.length>1 ? "Issues" : "Issue" } added to cycle successfully.`, + }, + error: { + title: "Error!", + message: (err) => err?.message || "Something went wrong. Please try again.", + }, + }); try { - // To handle all updates in parallel - await Promise.all( - data.map((issue) => - updateIssue(workspaceSlug.toString(), projectId.toString(), issue.id, prePopulatedData ?? {}) - ) - ); - await addIssuesToView?.(issueIds); + await updatePromise; } catch (error) { - setToast({ - type: TOAST_TYPE.ERROR, - title: "Error!", - message: "Something went wrong. Please try again.", - }); + console.error(error) } };