"use client"; import { useEffect, useCallback } from "react"; import { Node, Edge } from "@xyflow/react"; import { WorkflowPreview } from "./WorkflowPreview"; interface WorkflowPreviewModalProps { isOpen: boolean; onClose: () => void; templateName: string; workflow: { nodes: Node[]; edges: Edge[] }; } export function WorkflowPreviewModal({ isOpen, onClose, templateName, workflow, }: WorkflowPreviewModalProps) { // Handle escape key to close const handleKeyDown = useCallback( (e: KeyboardEvent) => { if (e.key === "Escape") { onClose(); } }, [onClose] ); useEffect(() => { if (isOpen) { document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); } }, [isOpen, handleKeyDown]); if (!isOpen) return null; return (
Workflow structure preview
Press Esc or click outside to close