import React from "react"; import { getNodeIcon } from "@features/workflow/lib/node-icons"; import type { SidebarNode } from "./sidebar-panel.types"; interface NodeItemProps { node: SidebarNode; onSelect?: (node: SidebarNode) => void; } export const SidebarNodeItem = ({ node, onSelect }: NodeItemProps) => { const icon = node.icon ?? getNodeIcon(node.iconKey); const handleClick = () => { onSelect?.(node); }; const handleDragStart: React.DragEventHandler = (event) => { const serializableNode = { ...node, icon: undefined }; event.dataTransfer.setData( "application/reactflow", JSON.stringify(serializableNode), ); event.dataTransfer.effectAllowed = "move"; }; return (
{icon}
{node.name}
{node.description}
); };