"use client" import { useEffect, useMemo, useRef, useState } from "react" import { ReactFlow, ReactFlowProvider, Background, useReactFlow, useNodesState, useEdgesState, } from "@xyflow/react" import "@xyflow/react/dist/style.css" import { workflowNodeTypes } from "@/components/gmail/settings/automation/workflow-nodes" import { workflowEdgesToFlow, workflowNodesToFlow, } from "@/lib/mail-automation/workflow-flow" import { createUltimailProductDemoRuleState } from "@/components/landing/product/product-demos/ultimail-demo-workflow" function WorkflowFlowPreviewCanvas() { const { fitView } = useReactFlow() const demoState = useMemo(() => createUltimailProductDemoRuleState(), []) const initialNodes = useMemo( () => workflowNodesToFlow(demoState.workflow.nodes), [demoState] ) const initialEdges = useMemo( () => workflowEdgesToFlow(demoState.workflow.edges), [demoState] ) const [nodes] = useNodesState(initialNodes) const [edges] = useEdgesState(initialEdges) useEffect(() => { fitView({ padding: 0.18, duration: 0 }) }, [fitView]) return ( ) } /** Canvas ReactFlow seul — aperçu no-code sans panneaux latéraux. */ export function WorkflowFlowPreview() { return (
) }