mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
4611ec0b83
* fix: handled undefined issue_id in list layout * dev: issue detail store and optimization * dev: issue filter and list operations * fix: typo on labels update * dev: Handled all issues in the list layout in project issues * dev: handled kanban and auick add issue in swimlanes * chore: fixed peekoverview in kanban * chore: fixed peekoverview in calendar * chore: fixed peekoverview in gantt * chore: updated quick add in the gantt chart * chore: handled issue detail properties and resolved build issues --------- Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { FC } from "react";
|
|
import Link from "next/link";
|
|
// ui
|
|
import { CustomMenu, LayersIcon } from "@plane/ui";
|
|
// hooks
|
|
import { useIssueDetail, useProject } from "hooks/store";
|
|
|
|
type TIssueParentSiblingItem = {
|
|
issueId: string;
|
|
};
|
|
|
|
export const IssueParentSiblingItem: FC<TIssueParentSiblingItem> = (props) => {
|
|
const { issueId } = props;
|
|
// hooks
|
|
const { getProjectById } = useProject();
|
|
const {
|
|
peekIssue,
|
|
issue: { getIssueById },
|
|
} = useIssueDetail();
|
|
|
|
const issueDetail = (issueId && getIssueById(issueId)) || undefined;
|
|
if (!issueDetail) return <></>;
|
|
|
|
const projectDetails = (issueDetail.project_id && getProjectById(issueDetail.project_id)) || undefined;
|
|
|
|
return (
|
|
<>
|
|
<CustomMenu.MenuItem key={issueDetail.id}>
|
|
<Link
|
|
href={`/${peekIssue?.workspaceSlug}/projects/${issueDetail?.project_id as string}/issues/${issueDetail.id}`}
|
|
className="flex items-center gap-2 py-2"
|
|
>
|
|
<LayersIcon className="h-4 w-4" />
|
|
{projectDetails?.identifier}-{issueDetail.sequence_id}
|
|
</Link>
|
|
</CustomMenu.MenuItem>
|
|
</>
|
|
);
|
|
};
|