[WEB-3693] chore: cmd-k work item actions improvements (#6891)

This commit is contained in:
Anmol Singh Bhatia
2025-04-09 09:25:57 +05:30
committed by GitHub
parent 08702a5381
commit 0a924e4824
5 changed files with 15 additions and 9 deletions
@@ -4,6 +4,7 @@ import { Command } from "cmdk";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { LinkIcon, Signal, Trash2, UserMinus2, UserPlus2, Users } from "lucide-react";
import { EIssueServiceType } from "@plane/constants";
import { TIssue } from "@plane/types";
// hooks
import { DoubleCircleIcon, TOAST_TYPE, setToast } from "@plane/ui";
@@ -26,7 +27,7 @@ export const CommandPaletteIssueActions: React.FC<Props> = observer((props) => {
// router
const { workspaceSlug } = useParams();
// hooks
const { updateIssue } = useIssueDetail();
const { updateIssue } = useIssueDetail(issueDetails?.is_epic ? EIssueServiceType.EPICS : EIssueServiceType.ISSUES);
const { toggleCommandPaletteModal, toggleDeleteIssueModal } = useCommandPalette();
const { data: currentUser } = useUser();
// derived values
@@ -72,8 +73,11 @@ export const CommandPaletteIssueActions: React.FC<Props> = observer((props) => {
});
};
const actionHeading = issueDetails?.is_epic ? "Epic actions" : "Work item actions";
const entityType = issueDetails?.is_epic ? "epic" : "work item";
return (
<Command.Group heading="Work item actions">
<Command.Group heading={actionHeading}>
<Command.Item
onSelect={() => {
setPlaceholder("Change state...");
@@ -137,7 +141,7 @@ export const CommandPaletteIssueActions: React.FC<Props> = observer((props) => {
<Command.Item onSelect={deleteIssue} className="focus:outline-none">
<div className="flex items-center gap-2 text-custom-text-200">
<Trash2 className="h-3.5 w-3.5" />
Delete work item
{`Delete ${entityType}`}
</div>
</Command.Item>
<Command.Item
@@ -149,7 +153,7 @@ export const CommandPaletteIssueActions: React.FC<Props> = observer((props) => {
>
<div className="flex items-center gap-2 text-custom-text-200">
<LinkIcon className="h-3.5 w-3.5" />
Copy work item URL
{`Copy ${entityType} URL`}
</div>
</Command.Item>
</Command.Group>
@@ -4,6 +4,7 @@ import { Command } from "cmdk";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { Check } from "lucide-react";
import { EIssueServiceType } from "@plane/constants";
// plane types
import { TIssue } from "@plane/types";
// plane ui
@@ -20,7 +21,7 @@ export const ChangeIssueAssignee: React.FC<Props> = observer((props) => {
// router params
const { workspaceSlug } = useParams();
// store
const { updateIssue } = useIssueDetail();
const { updateIssue } = useIssueDetail(issue?.is_epic ? EIssueServiceType.EPICS : EIssueServiceType.ISSUES);
const {
project: { getProjectMemberIds, getProjectMemberDetails },
} = useMember();
@@ -5,7 +5,7 @@ import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { Check } from "lucide-react";
// plane constants
import { ISSUE_PRIORITIES } from "@plane/constants";
import { EIssueServiceType, ISSUE_PRIORITIES } from "@plane/constants";
// plane types
import { TIssue, TIssuePriorities } from "@plane/types";
// mobx store
@@ -22,7 +22,7 @@ export const ChangeIssuePriority: React.FC<Props> = observer((props) => {
// router params
const { workspaceSlug } = useParams();
// store hooks
const { updateIssue } = useIssueDetail();
const { updateIssue } = useIssueDetail(issue?.is_epic ? EIssueServiceType.EPICS : EIssueServiceType.ISSUES);
// derived values
const projectId = issue?.project_id;
@@ -3,6 +3,7 @@
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// plane imports
import { EIssueServiceType } from "@plane/constants";
import { TIssue } from "@plane/types";
// store hooks
import { useIssueDetail } from "@/hooks/store";
@@ -16,7 +17,7 @@ export const ChangeIssueState: React.FC<Props> = observer((props) => {
// router params
const { workspaceSlug } = useParams();
// store hooks
const { updateIssue } = useIssueDetail();
const { updateIssue } = useIssueDetail(issue?.is_epic ? EIssueServiceType.EPICS : EIssueServiceType.ISSUES);
// derived values
const projectId = issue?.project_id;
const currentStateId = issue?.state_id;
@@ -111,7 +111,7 @@ export const IssuePeekOverviewHeader: FC<PeekOverviewHeaderProps> = observer((pr
setToast({
type: TOAST_TYPE.SUCCESS,
title: t("common.link_copied"),
message: t("common.copied_to_clipboard"),
message: t("common.link_copied_to_clipboard"),
});
});
};