From ff6690afd21c209ac0b36b8fdcf6b4f2741ead22 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com> Date: Sun, 23 Jul 2023 15:11:28 +0530 Subject: [PATCH] chore: workspace level toggle (#1625) --- apps/app/components/core/issues-view.tsx | 13 +++++- .../modals/existing-issues-list-modal.tsx | 40 ++++++++++--------- .../issues/sidebar-select/blocked.tsx | 1 + .../issues/sidebar-select/blocker.tsx | 1 + .../app/components/issues/sub-issues-list.tsx | 1 + apps/app/components/ui/empty-state.tsx | 17 +++++--- 6 files changed, 48 insertions(+), 25 deletions(-) diff --git a/apps/app/components/core/issues-view.tsx b/apps/app/components/core/issues-view.tsx index 4754a88e12e..826ff516da6 100644 --- a/apps/app/components/core/issues-view.tsx +++ b/apps/app/components/core/issues-view.tsx @@ -31,7 +31,7 @@ import { CreateUpdateIssueModal, DeleteIssueModal } from "components/issues"; import { CreateUpdateViewModal } from "components/views"; import { TransferIssues, TransferIssuesModal } from "components/cycles"; // ui -import { EmptyState, PrimaryButton, Spinner, Icon } from "components/ui"; +import { EmptyState, PrimaryButton, Spinner, SecondaryButton } from "components/ui"; // icons import { PlusIcon, TrashIcon } from "@heroicons/react/24/outline"; // images @@ -601,6 +601,17 @@ export const IssuesView: React.FC = ({ image={emptyIssue} buttonText="New Issue" buttonIcon={} + secondaryButton={ + cycleId || moduleId ? ( + + + Add an existing issue + + ) : null + } onClick={() => { const e = new KeyboardEvent("keydown", { key: "c", diff --git a/apps/app/components/core/modals/existing-issues-list-modal.tsx b/apps/app/components/core/modals/existing-issues-list-modal.tsx index f4231fee0c0..897e094af28 100644 --- a/apps/app/components/core/modals/existing-issues-list-modal.tsx +++ b/apps/app/components/core/modals/existing-issues-list-modal.tsx @@ -33,6 +33,7 @@ type Props = { handleClose: () => void; searchParams: Partial; handleOnSubmit: (data: ISearchIssueResponse[]) => Promise; + workspaceLevelToggle?: boolean; }; export const ExistingIssuesListModal: React.FC = ({ @@ -40,6 +41,7 @@ export const ExistingIssuesListModal: React.FC = ({ handleClose: onClose, searchParams, handleOnSubmit, + workspaceLevelToggle = false, }) => { const [searchTerm, setSearchTerm] = useState(""); const [issues, setIssues] = useState([]); @@ -194,25 +196,27 @@ export const ExistingIssuesListModal: React.FC = ({ No issues selected )} - -
- setIsWorkspaceLevel((prevData) => !prevData)} - /> - -
-
+ setIsWorkspaceLevel((prevData) => !prevData)} + /> + + + + )} diff --git a/apps/app/components/issues/sidebar-select/blocked.tsx b/apps/app/components/issues/sidebar-select/blocked.tsx index 315140ea940..76373700ccc 100644 --- a/apps/app/components/issues/sidebar-select/blocked.tsx +++ b/apps/app/components/issues/sidebar-select/blocked.tsx @@ -82,6 +82,7 @@ export const SidebarBlockedSelect: React.FC = ({ handleClose={() => setIsBlockedModalOpen(false)} searchParams={{ blocker_blocked_by: true, issue_id: issueId }} handleOnSubmit={onSubmit} + workspaceLevelToggle />
diff --git a/apps/app/components/issues/sidebar-select/blocker.tsx b/apps/app/components/issues/sidebar-select/blocker.tsx index 7ec66470070..c25adc49e15 100644 --- a/apps/app/components/issues/sidebar-select/blocker.tsx +++ b/apps/app/components/issues/sidebar-select/blocker.tsx @@ -82,6 +82,7 @@ export const SidebarBlockerSelect: React.FC = ({ handleClose={() => setIsBlockerModalOpen(false)} searchParams={{ blocker_blocked_by: true, issue_id: issueId }} handleOnSubmit={onSubmit} + workspaceLevelToggle />
diff --git a/apps/app/components/issues/sub-issues-list.tsx b/apps/app/components/issues/sub-issues-list.tsx index 9c85ef546d9..7d526d66199 100644 --- a/apps/app/components/issues/sub-issues-list.tsx +++ b/apps/app/components/issues/sub-issues-list.tsx @@ -115,6 +115,7 @@ export const SubIssuesList: FC = ({ parentIssue, user, disabled = false } handleClose={() => setSubIssuesListModal(false)} searchParams={{ sub_issue: true, issue_id: parentIssue?.id }} handleOnSubmit={addAsSubIssue} + workspaceLevelToggle /> {subIssuesResponse && subIssuesResponse.sub_issues.length > 0 ? ( diff --git a/apps/app/components/ui/empty-state.tsx b/apps/app/components/ui/empty-state.tsx index 5af3bf5488e..a13e59679a2 100644 --- a/apps/app/components/ui/empty-state.tsx +++ b/apps/app/components/ui/empty-state.tsx @@ -11,6 +11,7 @@ type Props = { image: any; buttonText?: string; buttonIcon?: any; + secondaryButton?: React.ReactNode; onClick?: () => void; isFullScreen?: boolean; }; @@ -22,6 +23,7 @@ export const EmptyState: React.FC = ({ onClick, buttonText, buttonIcon, + secondaryButton, isFullScreen = true, }) => (
= ({ {buttonText}
{title}

{description}

- {buttonText && ( - - {buttonIcon} - {buttonText} - - )} +
+ {buttonText && ( + + {buttonIcon} + {buttonText} + + )} + {secondaryButton} +
);