import React from "react"; // components import { IssueColumn } from "components/issues"; // hooks import useSubIssue from "hooks/use-sub-issue"; // types import { IIssue, IIssueDisplayProperties } from "types"; type Props = { issue: IIssue; expandedIssues: string[]; setExpandedIssues: React.Dispatch>; properties: IIssueDisplayProperties; handleIssueAction: (issue: IIssue, action: "copy" | "delete" | "edit") => void; setIssuePeekOverView: React.Dispatch< React.SetStateAction<{ workspaceSlug: string; projectId: string; issueId: string; } | null> >; disableUserActions: boolean; nestingLevel?: number; }; export const SpreadsheetIssuesColumn: React.FC = ({ issue, expandedIssues, setExpandedIssues, setIssuePeekOverView, properties, handleIssueAction, disableUserActions, nestingLevel = 0, }) => { const handleToggleExpand = (issueId: string) => { setExpandedIssues((prevState) => { const newArray = [...prevState]; const index = newArray.indexOf(issueId); if (index > -1) newArray.splice(index, 1); else newArray.push(issueId); return newArray; }); }; const isExpanded = expandedIssues.indexOf(issue.id) > -1; const { subIssues, isLoading } = useSubIssue(issue.project_detail.id, issue.id, isExpanded); return ( <> handleIssueAction(issue, "edit")} handleDeleteIssue={() => handleIssueAction(issue, "delete")} setIssuePeekOverView={setIssuePeekOverView} disableUserActions={disableUserActions} nestingLevel={nestingLevel} /> {isExpanded && !isLoading && subIssues && subIssues.length > 0 && subIssues.map((subIssue) => ( ))} ); };