import { MutableRefObject, memo } from "react"; //types import { TIssue, IIssueDisplayProperties, IIssueMap } from "@plane/types"; import { KanbanIssueBlock } from "@/components/issues"; import { TRenderQuickActions } from "../list/list-view-types"; // components interface IssueBlocksListProps { sub_group_id: string; groupId: string; issuesMap: IIssueMap; issueIds: string[]; displayProperties: IIssueDisplayProperties | undefined; isDragDisabled: boolean; updateIssue: ((projectId: string, issueId: string, data: Partial) => Promise) | undefined; quickActions: TRenderQuickActions; canEditProperties: (projectId: string | undefined) => boolean; canDropOverIssue: boolean; scrollableContainerRef?: MutableRefObject; } const KanbanIssueBlocksListMemo: React.FC = (props) => { const { sub_group_id, groupId, issuesMap, issueIds, displayProperties, isDragDisabled, canDropOverIssue, updateIssue, quickActions, canEditProperties, scrollableContainerRef, } = props; return ( <> {issueIds && issueIds.length > 0 ? ( <> {issueIds.map((issueId) => { if (!issueId) return null; let draggableId = issueId; if (groupId) draggableId = `${draggableId}__${groupId}`; if (sub_group_id) draggableId = `${draggableId}__${sub_group_id}`; return ( ); })} ) : null} ); }; export const KanbanIssueBlocksList = memo(KanbanIssueBlocksListMemo);