2025-10-14 16:45:07 +05:30
|
|
|
import type { IWorkItemPeekOverview } from "@plane/types";
|
|
|
|
|
import { EIssueServiceType } from "@plane/types";
|
2025-08-15 13:10:26 +05:30
|
|
|
import { IssuePeekOverview } from "@/components/issues/peek-overview";
|
|
|
|
|
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
2025-10-14 16:45:07 +05:30
|
|
|
import type { TPeekIssue } from "@/store/issue/issue-details/root.store";
|
2025-06-09 15:33:57 +05:30
|
|
|
|
|
|
|
|
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,
|
|
|
|
|
};
|
|
|
|
|
};
|