import { memo, useState } from 'react'; import { Handle, Position } from '@xyflow/react'; import type { NodeProps } from '@xyflow/react'; import { FileText, ChevronDown, ChevronUp, Download } from 'lucide-react'; import type { OutputNodeData } from '../../types/nodes'; export const OutputNode = memo(({ data }: NodeProps) => { const [isExpanded, setIsExpanded] = useState(true); const nodeData = data as OutputNodeData; const downloadJSON = () => { if (!nodeData.previewData) return; const jsonString = JSON.stringify(nodeData.previewData, null, 2); const blob = new Blob([jsonString], { type: 'application/json' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${nodeData.previewData.id || 'npc'}.json`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; return (
{JSON.stringify(nodeData.previewData, null, 2)}