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