Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 16s
CodeQL / Analyze (python) (push) Failing after 3s
i18n sync check / check:sync (push) Failing after 3s
React Doctor / react-doctor (push) Failing after 16s
Branch Build CE / Build-Push Admin Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Admin Manifest (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Web Manifest (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Proxy Manifest (push) Has been cancelled
Branch Build CE / Merge Space Manifest (push) Has been cancelled
Branch Build CE / Prepare AIO Assets (push) Has been cancelled
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Live Collaboration Manifest (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge API Server Manifest (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge AIO Manifest (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
/**
|
|
* Copyright (c) 2023-present Plane Software, Inc. and contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
* See the LICENSE file for details.
|
|
*/
|
|
|
|
import type { IWorkItemPeekOverview } from "@plane/types";
|
|
import { EIssueServiceType } from "@plane/types";
|
|
import { IssuePeekOverview } from "@/components/issues/peek-overview";
|
|
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
|
import type { TPeekIssue } from "@/store/issue/issue-details/root.store";
|
|
|
|
export type TNotificationPreview = {
|
|
isWorkItem: boolean;
|
|
PeekOverviewComponent: React.ComponentType<IWorkItemPeekOverview>;
|
|
setPeekWorkItem: (peekIssue: TPeekIssue | undefined) => void;
|
|
};
|
|
|
|
/**
|
|
* This function returns if the current active notification is related to work item or an epic.
|
|
* @returns isWorkItem: boolean, peekOverviewComponent: IWorkItemPeekOverview, setPeekWorkItem
|
|
*/
|
|
export const useNotificationPreview = (): TNotificationPreview => {
|
|
const { peekIssue, setPeekIssue } = useIssueDetail(EIssueServiceType.ISSUES);
|
|
|
|
return {
|
|
isWorkItem: Boolean(peekIssue),
|
|
PeekOverviewComponent: IssuePeekOverview,
|
|
setPeekWorkItem: setPeekIssue,
|
|
};
|
|
};
|